@calltelemetry/ct-lab-mcp 0.8.58 → 0.8.60

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 (45) hide show
  1. package/README.md +4 -2
  2. package/dist/src/server.d.ts +3 -0
  3. package/dist/src/server.d.ts.map +1 -1
  4. package/dist/src/server.js +3 -0
  5. package/dist/src/server.js.map +1 -1
  6. package/dist/src/tools/appliance-claim-tools.d.ts +97 -14
  7. package/dist/src/tools/appliance-claim-tools.d.ts.map +1 -1
  8. package/dist/src/tools/appliance-claim-tools.js +254 -25
  9. package/dist/src/tools/appliance-claim-tools.js.map +1 -1
  10. package/dist/src/tools/canonical-guard.d.ts +1 -1
  11. package/dist/src/tools/canonical-guard.d.ts.map +1 -1
  12. package/dist/src/tools/canonical-guard.js +4 -0
  13. package/dist/src/tools/canonical-guard.js.map +1 -1
  14. package/dist/src/tools/claim-first.d.ts +76 -0
  15. package/dist/src/tools/claim-first.d.ts.map +1 -0
  16. package/dist/src/tools/claim-first.js +149 -0
  17. package/dist/src/tools/claim-first.js.map +1 -0
  18. package/dist/src/tools/claim-lifecycle.d.ts +4 -4
  19. package/dist/src/tools/claimed-import-qcow.d.ts +117 -0
  20. package/dist/src/tools/claimed-import-qcow.d.ts.map +1 -0
  21. package/dist/src/tools/claimed-import-qcow.js +171 -0
  22. package/dist/src/tools/claimed-import-qcow.js.map +1 -0
  23. package/dist/src/tools/cube-provision.d.ts +2 -2
  24. package/dist/src/tools/factory-reset.d.ts +4 -4
  25. package/dist/src/tools/import-qcow.d.ts +6 -6
  26. package/dist/src/tools/index.d.ts +1 -0
  27. package/dist/src/tools/index.d.ts.map +1 -1
  28. package/dist/src/tools/index.js +66 -7
  29. package/dist/src/tools/index.js.map +1 -1
  30. package/dist/src/tools/lab-dev.d.ts +26 -26
  31. package/dist/src/tools/license-tools.d.ts +4 -4
  32. package/dist/src/tools/list-hosts.d.ts +6 -0
  33. package/dist/src/tools/list-hosts.d.ts.map +1 -1
  34. package/dist/src/tools/list-hosts.js.map +1 -1
  35. package/dist/src/tools/provision-tools.d.ts +8 -8
  36. package/dist/src/tools/provision-tools.d.ts.map +1 -1
  37. package/dist/src/tools/provision-tools.js +51 -0
  38. package/dist/src/tools/provision-tools.js.map +1 -1
  39. package/dist/src/tools/quick-provision.d.ts +2 -2
  40. package/dist/src/tools/sandbox-tools.d.ts +4 -4
  41. package/dist/src/tools/slot-tools.d.ts +22 -4
  42. package/dist/src/tools/slot-tools.d.ts.map +1 -1
  43. package/dist/src/tools/slot-tools.js +15 -0
  44. package/dist/src/tools/slot-tools.js.map +1 -1
  45. package/package.json +1 -1
package/README.md CHANGED
@@ -35,7 +35,9 @@ AI Clients (Claude Desktop / Cursor / Web / AI Agents)
35
35
  ├── lab_mission (Canonical manifest-bound multi-phase mission)
36
36
  ├── lab_dev (Canonical leased remote-development lifecycle)
37
37
  ├── list_appliance_claims (Kubernetes ApplianceClaim CRD fleet discovery)
38
- ├── create_appliance_claim (Declarative CRD provisioning with channel rules)
38
+ ├── create_appliance_claim (Declarative CRD provisioning with channel rules; profile=demo|bare)
39
+ ├── renew_appliance_claim (Extend a claim TTL; never shortens)
40
+ ├── claimed_import_qcow (Image to claimed guest: claim-first bare claim, then canonical import-qcow)
39
41
  ├── delete_appliance_claim (Operator teardown trigger via CRD finalizer)
40
42
  ├── sideload_appliance_runner (Isolated runner commands & container overrides)
41
43
  ├── get_appliance_id (Hardware UUID -> CT-APP-XXXX-XXXX-XXXX derivation)
@@ -91,7 +93,7 @@ than use the legacy Node VMID/name slot state when the bridge is unavailable.
91
93
  power-off is not implemented.
92
94
  - **Remote Appliance CLI Control**: Mediated execution of `cli.sh` commands over SSH (port 2222) for status inspection, health diagnostics, Ecto migrations, table vacuums, and container logs.
93
95
  - **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.
94
- - **Kubernetes ApplianceClaim CRD Governance**: Declarative lifecycle tools (`list_appliance_claims`, `get_appliance_claim`, `create_appliance_claim`, `delete_appliance_claim`) reconciling appliances directly with the in-cluster `ct-appliance-operator` in `ct-lab`. Enforces release channel rules (rejecting `0.8.7.*` or pre-releases on channel `stable`), container git hash overrides, and automated scavenger TTLs.
96
+ - **Kubernetes ApplianceClaim CRD Governance**: Declarative lifecycle tools (`list_appliance_claims`, `get_appliance_claim`, `create_appliance_claim`, `renew_appliance_claim`, `pause_appliance_claim`, `delete_appliance_claim`, and `claimed_import_qcow`) reconciling appliances directly with the in-cluster `ct-appliance-operator` in `ct-lab`. Enforces release channel rules (rejecting `0.8.7.*` or pre-releases on channel `stable`), container git hash overrides, and TTLs. The operator is STRICT (ADR 0779): any guest no claim names (node + VMID, or VM name) is destroyed on its next 5-minute pass, so claim first. `create_appliance_claim` requires a named guest (`vmid`, or `vmName`) and a known node (`minis`|`proxmox`); `profile=bare` claims and tracks a guest with no seed, no license and no bootstrap (clean benchmarks, imported images); `renew_appliance_claim` extends the TTL; `delete_appliance_claim` makes the operator destroy the guest. Every guest-creating tool is claim-first: `provision_vm`, `auto_provision_vm` and `proxmox_quick_provision` (apply) create a bare ApplianceClaim BEFORE the guest and delete it if creation fails (canonical apply needs an explicit `vmid`; the legacy in-process path claims by VM name); `claim_slot` apply needs `claimNode` + `claimVmid`/`claimVmName` for the existing guest. A tool that cannot name the guest refuses with a pointer to the runbook instead of creating an unclaimed one. `claimed_import_qcow` is the one sanctioned image-to-claimed-guest path: it creates the bare claim first, runs the canonical `vm import-qcow` apply, and deletes the claim again if the import fails.
95
97
  - **Sideloaded Appliance Management Runner**: `sideload_appliance_runner` executes isolated runner actions (`execute`, `container_override`, `systemd_reset`, `diagnostic_bundle`) over SSH (port 2222) using ephemeral runner payloads, eliminating brittleness and version drift from mutating `/home/calltelemetry/cli.sh`.
96
98
  - **Standardized 0.8.7+ Appliance Licensing**: `get_appliance_id` derives canonical `CT-APP-XXXX-XXXX-XXXX` from the host hardware UUID. `sideload_license` delivers modern `calltelemetry-license-v2` JSON envelopes directly to `/etc/calltelemetry/calltelemetry.lic` with strict `chmod 600` permissions.
97
99
  - **Automated 5-Point Demo Verification Gate**: `verify_appliance_demo` runs an end-to-end certification gate checking API session authentication, active license status, CUBE gateway connectivity, phone endpoint registrations, and processed CDR/call records before demo handoff.
@@ -4,6 +4,7 @@
4
4
  * Instantiates and wires the McpServer with MultiHypervisorManager, SlotManager,
5
5
  * SafetyGuardrailEngine, ApplianceSshExecutor / MockApplianceExecutor, and registers all MCP tools.
6
6
  */
7
+ import { type ClaimFirstHooks } from "./tools/claim-first.js";
7
8
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
8
9
  import { SlotManager } from "./slot/manager.js";
9
10
  import { MultiHypervisorManager } from "./hypervisors/manager.js";
@@ -36,6 +37,8 @@ export interface McpServerOptions {
36
37
  hostConfigs?: ProxmoxHostConfig[];
37
38
  proxmoxManager?: MultiHostProxmoxManager;
38
39
  canonicalBridge?: CanonicalLabBridge;
40
+ /** Test seam: replaces the Kubernetes-backed claim-first hooks. */
41
+ claimFirst?: ClaimFirstHooks;
39
42
  /** Which transport launched this server (local-stdio | local-sse). REL-920. */
40
43
  plane?: LabPlane;
41
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAgC,MAAM,wBAAwB,CAAC;AAE7F,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvG,OAAO,EAAa,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEzE,OAAO,EAAmB,KAAK,sBAAsB,EAA6B,MAAM,mBAAmB,CAAC;AAE5G,MAAM,WAAW,gBAAgB;IAC/B,uGAAuG;IACvG,eAAe,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IACvC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,WAAW,CAAC,EAAE,0BAA0B,CAAC;IACzC,eAAe,CAAC,EAAE,yBAAyB,CAAC;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACrC,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,+EAA+E;IAC/E,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAED,eAAO,MAAM,2BAA2B,QAW8J,CAAC;AAEvM;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,SAAS,CA4GzE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAgC,MAAM,wBAAwB,CAAC;AAE7F,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvG,OAAO,EAAa,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEzE,OAAO,EAAmB,KAAK,sBAAsB,EAA6B,MAAM,mBAAmB,CAAC;AAE5G,MAAM,WAAW,gBAAgB;IAC/B,uGAAuG;IACvG,eAAe,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IACvC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,WAAW,CAAC,EAAE,0BAA0B,CAAC;IACzC,eAAe,CAAC,EAAE,yBAAyB,CAAC;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACrC,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,mEAAmE;IACnE,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAED,eAAO,MAAM,2BAA2B,QAW8J,CAAC;AAEvM;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,SAAS,CA8GzE"}
@@ -4,6 +4,7 @@
4
4
  * Instantiates and wires the McpServer with MultiHypervisorManager, SlotManager,
5
5
  * SafetyGuardrailEngine, ApplianceSshExecutor / MockApplianceExecutor, and registers all MCP tools.
6
6
  */
7
+ import { createClaimFirstHooks } from "./tools/claim-first.js";
7
8
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
8
9
  import { SlotManager } from "./slot/manager.js";
9
10
  import { MultiHypervisorManager } from "./hypervisors/manager.js";
@@ -102,6 +103,8 @@ export function createMcpServer(options = {}) {
102
103
  credentials: options.credentials,
103
104
  }),
104
105
  plane: options.plane,
106
+ // Claim-first provisioning is always on in a real server (REL-1388, ADR 0779).
107
+ claimFirst: options.claimFirst ?? createClaimFirstHooks(),
105
108
  };
106
109
  // No host tools are exposed. Transport options are never derived from ToolContext credentials.
107
110
  if (options.hostReadSession) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ export interface ApplianceClaimResource {
24
24
  creationTimestamp?: string;
25
25
  };
26
26
  spec: {
27
- targetIp: string;
27
+ targetIp?: string;
28
28
  targetPort?: number;
29
29
  sshUser?: string;
30
30
  vmid?: number;
@@ -46,6 +46,8 @@ export interface ApplianceClaimResource {
46
46
  state?: "Active" | "Closed";
47
47
  closed?: boolean;
48
48
  claimType?: "dynamic" | "fixture";
49
+ profile?: "demo" | "bare";
50
+ paused?: boolean;
49
51
  vmName?: string;
50
52
  containerOverrides?: Record<string, string>;
51
53
  };
@@ -76,11 +78,11 @@ export declare const ListApplianceClaimsInputSchema: z.ZodObject<{
76
78
  claimType: z.ZodOptional<z.ZodEnum<["dynamic", "fixture"]>>;
77
79
  }, "strip", z.ZodTypeAny, {
78
80
  namespace: string;
79
- phase?: "Failed" | "Ready" | "Pending" | "Provisioning" | "Closed" | "Bootstrapping" | undefined;
81
+ phase?: "Failed" | "Closed" | "Pending" | "Provisioning" | "Bootstrapping" | "Ready" | undefined;
80
82
  claimType?: "fixture" | "dynamic" | undefined;
81
83
  }, {
82
- phase?: "Failed" | "Ready" | "Pending" | "Provisioning" | "Closed" | "Bootstrapping" | undefined;
83
84
  namespace?: string | undefined;
85
+ phase?: "Failed" | "Closed" | "Pending" | "Provisioning" | "Bootstrapping" | "Ready" | undefined;
84
86
  claimType?: "fixture" | "dynamic" | undefined;
85
87
  }>;
86
88
  export type ListApplianceClaimsInput = z.infer<typeof ListApplianceClaimsInputSchema>;
@@ -102,8 +104,10 @@ export type GetApplianceClaimInput = z.infer<typeof GetApplianceClaimInputSchema
102
104
  export declare const CreateApplianceClaimInputShape: {
103
105
  name: z.ZodOptional<z.ZodString>;
104
106
  namespace: z.ZodDefault<z.ZodOptional<z.ZodString>>;
105
- targetIp: z.ZodString;
107
+ targetIp: z.ZodOptional<z.ZodString>;
106
108
  vmid: z.ZodOptional<z.ZodNumber>;
109
+ vmName: z.ZodOptional<z.ZodString>;
110
+ profile: z.ZodDefault<z.ZodOptional<z.ZodEnum<["demo", "bare"]>>>;
107
111
  node: z.ZodDefault<z.ZodOptional<z.ZodString>>;
108
112
  version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
109
113
  train: z.ZodOptional<z.ZodEnum<["stable", "beta", "rc", "candidate", "dev", "edge"]>>;
@@ -119,8 +123,10 @@ export declare const CreateApplianceClaimInputShape: {
119
123
  export declare const CreateApplianceClaimInputSchema: z.ZodObject<{
120
124
  name: z.ZodOptional<z.ZodString>;
121
125
  namespace: z.ZodDefault<z.ZodOptional<z.ZodString>>;
122
- targetIp: z.ZodString;
126
+ targetIp: z.ZodOptional<z.ZodString>;
123
127
  vmid: z.ZodOptional<z.ZodNumber>;
128
+ vmName: z.ZodOptional<z.ZodString>;
129
+ profile: z.ZodDefault<z.ZodOptional<z.ZodEnum<["demo", "bare"]>>>;
124
130
  node: z.ZodDefault<z.ZodOptional<z.ZodString>>;
125
131
  version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
126
132
  train: z.ZodOptional<z.ZodEnum<["stable", "beta", "rc", "candidate", "dev", "edge"]>>;
@@ -136,33 +142,37 @@ export declare const CreateApplianceClaimInputSchema: z.ZodObject<{
136
142
  node: string;
137
143
  version: string;
138
144
  dryRun: boolean;
139
- targetIp: string;
145
+ namespace: string;
146
+ profile: "demo" | "bare";
147
+ preset: "comprehensive_demo" | "standard_demo" | "minimal_demo" | "empty";
140
148
  ttlHours: number;
149
+ licenseTier: "Demo" | "Community" | "Essentials" | "Advanced" | "Premium" | "Beta";
141
150
  licenseDays: number;
142
- licenseTier: "Demo" | "Beta" | "Premium" | "Essentials" | "Advanced" | "Community";
143
- namespace: string;
144
- preset: "empty" | "comprehensive_demo" | "standard_demo" | "minimal_demo";
145
151
  adminEmail: string;
146
152
  name?: string | undefined;
147
153
  vmid?: number | undefined;
154
+ targetIp?: string | undefined;
155
+ vmName?: string | undefined;
148
156
  linearIssue?: string | undefined;
149
157
  containerOverrides?: Record<string, string> | undefined;
150
158
  train?: "dev" | "stable" | "beta" | "rc" | "candidate" | "edge" | undefined;
151
159
  }, {
152
- targetIp: string;
153
160
  node?: string | undefined;
154
161
  name?: string | undefined;
155
162
  version?: string | undefined;
156
163
  dryRun?: boolean | undefined;
157
164
  vmid?: number | undefined;
165
+ targetIp?: string | undefined;
166
+ vmName?: string | undefined;
158
167
  linearIssue?: string | undefined;
159
168
  containerOverrides?: Record<string, string> | undefined;
160
- ttlHours?: number | undefined;
161
- licenseDays?: number | undefined;
162
- licenseTier?: "Demo" | "Beta" | "Premium" | "Essentials" | "Advanced" | "Community" | undefined;
163
169
  namespace?: string | undefined;
170
+ profile?: "demo" | "bare" | undefined;
164
171
  train?: "dev" | "stable" | "beta" | "rc" | "candidate" | "edge" | undefined;
165
- preset?: "empty" | "comprehensive_demo" | "standard_demo" | "minimal_demo" | undefined;
172
+ preset?: "comprehensive_demo" | "standard_demo" | "minimal_demo" | "empty" | undefined;
173
+ ttlHours?: number | undefined;
174
+ licenseTier?: "Demo" | "Community" | "Essentials" | "Advanced" | "Premium" | "Beta" | undefined;
175
+ licenseDays?: number | undefined;
166
176
  adminEmail?: string | undefined;
167
177
  }>;
168
178
  export type CreateApplianceClaimInput = z.infer<typeof CreateApplianceClaimInputSchema>;
@@ -204,8 +214,47 @@ export declare const PauseApplianceClaimInputSchema: z.ZodObject<{
204
214
  pausedReason?: string | undefined;
205
215
  }>;
206
216
  export type PauseApplianceClaimInput = z.infer<typeof PauseApplianceClaimInputSchema>;
217
+ export declare const RenewApplianceClaimInputShape: {
218
+ name: z.ZodString;
219
+ namespace: z.ZodDefault<z.ZodOptional<z.ZodString>>;
220
+ extendHours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
221
+ dryRun: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
222
+ };
223
+ export declare const RenewApplianceClaimInputSchema: z.ZodObject<{
224
+ name: z.ZodString;
225
+ namespace: z.ZodDefault<z.ZodOptional<z.ZodString>>;
226
+ extendHours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
227
+ dryRun: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
228
+ }, "strip", z.ZodTypeAny, {
229
+ name: string;
230
+ dryRun: boolean;
231
+ namespace: string;
232
+ extendHours: number;
233
+ }, {
234
+ name: string;
235
+ dryRun?: boolean | undefined;
236
+ namespace?: string | undefined;
237
+ extendHours?: number | undefined;
238
+ }>;
239
+ export type RenewApplianceClaimInput = z.infer<typeof RenewApplianceClaimInputSchema>;
240
+ export type ClaimNode = "proxmox" | "minis" | "esxi";
241
+ /** Canonical node the operator tracks claims by, or null when the operator would not match it. */
242
+ export declare function normalizeClaimNode(node: string | undefined): ClaimNode | null;
207
243
  export declare function handleListApplianceClaims(args: unknown, _context?: ToolContext): Promise<CallToolResult>;
208
244
  export declare function handleGetApplianceClaim(args: unknown, _context?: ToolContext): Promise<CallToolResult>;
245
+ /**
246
+ * Builds the ApplianceClaim manifest for create_appliance_claim, enforcing the
247
+ * strict-cleanup claim contract (ADR 0779): a claim must name a guest the
248
+ * operator can match (canonical node + VMID, or an exact vmName), otherwise it
249
+ * protects nothing and the guest is destroyed on the next operator pass.
250
+ */
251
+ export declare function buildApplianceClaimManifest(input: CreateApplianceClaimInput): {
252
+ manifest: ApplianceClaimResource;
253
+ claimName: string;
254
+ train: ReleaseChannel;
255
+ } | {
256
+ error: string;
257
+ };
209
258
  export declare function handleCreateApplianceClaim(args: unknown, _context?: ToolContext): Promise<CallToolResult>;
210
259
  /**
211
260
  * Pauses or unpauses an ApplianceClaim (UAT-1740, ADR 0755). spec.paused=true
@@ -215,5 +264,39 @@ export declare function handleCreateApplianceClaim(args: unknown, _context?: Too
215
264
  * --type=merge, with a post-patch live readback for verification.
216
265
  */
217
266
  export declare function handlePauseApplianceClaim(args: unknown, _context?: ToolContext): Promise<CallToolResult>;
267
+ export type RenewPlan = {
268
+ ok: true;
269
+ previousTtlHours: number;
270
+ newTtlHours: number;
271
+ elapsedHours: number;
272
+ baseline: string;
273
+ expiresAt: string;
274
+ } | {
275
+ ok: false;
276
+ error: string;
277
+ };
278
+ /**
279
+ * Computes the TTL that gives a claim extendHours of life from now. The
280
+ * operator expires a claim ttlHours after status.completionTime, so the new
281
+ * ttlHours is elapsed + extendHours. Renewal never shortens a claim.
282
+ */
283
+ export declare function planClaimRenewal(claim: ApplianceClaimResource & {
284
+ metadata: {
285
+ deletionTimestamp?: string;
286
+ };
287
+ }, extendHours: number, now?: number): RenewPlan;
288
+ /**
289
+ * Extends an ApplianceClaim's TTL (renew_appliance_claim). Spec-only merge
290
+ * patch on spec.ttlHours with a live readback; the operator picks it up on its
291
+ * next pass. Never shortens, never touches fixtures, never un-expires a claim
292
+ * the operator already deleted.
293
+ */
294
+ export declare function handleRenewApplianceClaim(args: unknown, _context?: ToolContext): Promise<CallToolResult>;
218
295
  export declare function handleDeleteApplianceClaim(args: unknown, _context?: ToolContext): Promise<CallToolResult>;
296
+ /**
297
+ * Merge-patches spec fields on an existing ApplianceClaim (in-cluster API first,
298
+ * kubectl fallback). Used by claim-first provisioning to attach the VMID once the
299
+ * hypervisor assigned it. Throws on failure.
300
+ */
301
+ export declare function patchApplianceClaimSpec(name: string, spec: Record<string, unknown>, namespace?: string): Promise<void>;
219
302
  //# sourceMappingURL=appliance-claim-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"appliance-claim-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/appliance-claim-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"appliance-claim-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/appliance-claim-tools.ts"],"names":[],"mappings":"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"}