@calltelemetry/ct-lab-mcp 0.1.2 → 0.1.3

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 (63) hide show
  1. package/dist/src/appliance/commands.d.ts +4 -0
  2. package/dist/src/appliance/commands.d.ts.map +1 -1
  3. package/dist/src/appliance/commands.js +32 -0
  4. package/dist/src/appliance/commands.js.map +1 -1
  5. package/dist/src/appliance/mock.d.ts.map +1 -1
  6. package/dist/src/appliance/mock.js +42 -0
  7. package/dist/src/appliance/mock.js.map +1 -1
  8. package/dist/src/appliance/types.d.ts +8 -1
  9. package/dist/src/appliance/types.d.ts.map +1 -1
  10. package/dist/src/appliance/types.js.map +1 -1
  11. package/dist/src/server.d.ts +3 -1
  12. package/dist/src/server.d.ts.map +1 -1
  13. package/dist/src/server.js +14 -4
  14. package/dist/src/server.js.map +1 -1
  15. package/dist/src/slot/gc.d.ts +11 -2
  16. package/dist/src/slot/gc.d.ts.map +1 -1
  17. package/dist/src/slot/gc.js +20 -2
  18. package/dist/src/slot/gc.js.map +1 -1
  19. package/dist/src/slot/manager.d.ts +34 -3
  20. package/dist/src/slot/manager.d.ts.map +1 -1
  21. package/dist/src/slot/manager.js +572 -3
  22. package/dist/src/slot/manager.js.map +1 -1
  23. package/dist/src/slot/types.d.ts +96 -1
  24. package/dist/src/slot/types.d.ts.map +1 -1
  25. package/dist/src/slot/types.js.map +1 -1
  26. package/dist/src/telemetry/index.d.ts +3 -0
  27. package/dist/src/telemetry/index.d.ts.map +1 -0
  28. package/dist/src/telemetry/index.js +3 -0
  29. package/dist/src/telemetry/index.js.map +1 -0
  30. package/dist/src/telemetry/registry.d.ts +43 -0
  31. package/dist/src/telemetry/registry.d.ts.map +1 -0
  32. package/dist/src/telemetry/registry.js +146 -0
  33. package/dist/src/telemetry/registry.js.map +1 -0
  34. package/dist/src/telemetry/types.d.ts +37 -0
  35. package/dist/src/telemetry/types.d.ts.map +1 -0
  36. package/dist/src/telemetry/types.js +6 -0
  37. package/dist/src/telemetry/types.js.map +1 -0
  38. package/dist/src/tools/appliance-exec.js +1 -1
  39. package/dist/src/tools/appliance-exec.js.map +1 -1
  40. package/dist/src/tools/index.d.ts +3 -1
  41. package/dist/src/tools/index.d.ts.map +1 -1
  42. package/dist/src/tools/index.js +19 -8
  43. package/dist/src/tools/index.js.map +1 -1
  44. package/dist/src/tools/list-hosts.d.ts +2 -2
  45. package/dist/src/tools/list-inventory.d.ts +3 -3
  46. package/dist/src/tools/provision-tools.d.ts +122 -21
  47. package/dist/src/tools/provision-tools.d.ts.map +1 -1
  48. package/dist/src/tools/provision-tools.js +384 -1
  49. package/dist/src/tools/provision-tools.js.map +1 -1
  50. package/dist/src/tools/purge-slots.d.ts +52 -0
  51. package/dist/src/tools/purge-slots.d.ts.map +1 -0
  52. package/dist/src/tools/purge-slots.js +107 -0
  53. package/dist/src/tools/purge-slots.js.map +1 -0
  54. package/dist/src/tools/slot-tools.d.ts +92 -30
  55. package/dist/src/tools/slot-tools.d.ts.map +1 -1
  56. package/dist/src/tools/slot-tools.js +67 -5
  57. package/dist/src/tools/slot-tools.js.map +1 -1
  58. package/dist/src/tools/vm-action.d.ts +22 -22
  59. package/dist/src/utils/formatters.d.ts +38 -4
  60. package/dist/src/utils/formatters.d.ts.map +1 -1
  61. package/dist/src/utils/formatters.js +179 -23
  62. package/dist/src/utils/formatters.js.map +1 -1
  63. package/package.json +1 -1
@@ -1,16 +1,24 @@
1
1
  /**
2
- * MCP Tools: claim_slot, release_slot, and list_slots
2
+ * MCP Tools: claim_slot, release_slot, list_slots, and purge_slots
3
3
  *
4
4
  * Manages 8GB appliance slot reservations, concurrency limits, lease TTLs,
5
- * least-loaded placement, and Linear issue tracking across Proxmox VE and VMware ESXi.
5
+ * least-loaded placement, structured labeling/tagging, and automated purge reclamation
6
+ * across Proxmox VE and VMware ESXi.
6
7
  */
7
8
  import { z } from "zod";
8
9
  import { CallToolResult } from "../types/mcp.js";
9
10
  import { ToolContext } from "./list-hosts.js";
11
+ export * from "./purge-slots.js";
10
12
  export declare const ClaimSlotInputShape: {
11
13
  tag: z.ZodOptional<z.ZodString>;
12
14
  requester: z.ZodOptional<z.ZodString>;
13
15
  linearIssue: z.ZodOptional<z.ZodString>;
16
+ label: z.ZodOptional<z.ZodString>;
17
+ workloadType: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["uat", "perf", "soak", "dev", "regression", "reproduction", "demo"]>, z.ZodString]>>;
18
+ targetVersion: z.ZodOptional<z.ZodString>;
19
+ branch: z.ZodOptional<z.ZodString>;
20
+ customTags: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
21
+ tags: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
14
22
  host: z.ZodDefault<z.ZodOptional<z.ZodString>>;
15
23
  targetHost: z.ZodOptional<z.ZodString>;
16
24
  hypervisorType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["proxmox", "esxi", "any"]>>>;
@@ -24,6 +32,12 @@ export declare const ClaimSlotInputSchema: z.ZodEffects<z.ZodObject<{
24
32
  tag: z.ZodOptional<z.ZodString>;
25
33
  requester: z.ZodOptional<z.ZodString>;
26
34
  linearIssue: z.ZodOptional<z.ZodString>;
35
+ label: z.ZodOptional<z.ZodString>;
36
+ workloadType: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["uat", "perf", "soak", "dev", "regression", "reproduction", "demo"]>, z.ZodString]>>;
37
+ targetVersion: z.ZodOptional<z.ZodString>;
38
+ branch: z.ZodOptional<z.ZodString>;
39
+ customTags: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
40
+ tags: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
27
41
  host: z.ZodDefault<z.ZodOptional<z.ZodString>>;
28
42
  targetHost: z.ZodOptional<z.ZodString>;
29
43
  hypervisorType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["proxmox", "esxi", "any"]>>>;
@@ -33,50 +47,74 @@ export declare const ClaimSlotInputSchema: z.ZodEffects<z.ZodObject<{
33
47
  purpose: z.ZodOptional<z.ZodString>;
34
48
  sessionId: z.ZodOptional<z.ZodString>;
35
49
  }, "strip", z.ZodTypeAny, {
36
- host: string;
37
50
  hypervisorType: "proxmox" | "esxi" | "any";
38
51
  durationMinutes: number;
39
- linearIssue?: string | undefined;
40
- tag?: string | undefined;
52
+ host: string;
53
+ tags?: string | string[] | undefined;
41
54
  ttlMinutes?: number | undefined;
42
- requester?: string | undefined;
43
55
  ttlSeconds?: number | undefined;
56
+ tag?: string | undefined;
57
+ targetVersion?: string | undefined;
58
+ workloadType?: string | undefined;
59
+ label?: string | undefined;
60
+ linearIssue?: string | undefined;
61
+ branch?: string | undefined;
62
+ customTags?: string | string[] | undefined;
63
+ requester?: string | undefined;
44
64
  purpose?: string | undefined;
45
65
  sessionId?: string | undefined;
46
66
  targetHost?: string | undefined;
47
67
  }, {
48
- host?: string | undefined;
49
- linearIssue?: string | undefined;
68
+ tags?: string | string[] | undefined;
50
69
  hypervisorType?: "proxmox" | "esxi" | "any" | undefined;
51
- tag?: string | undefined;
52
70
  durationMinutes?: number | undefined;
53
71
  ttlMinutes?: number | undefined;
54
- requester?: string | undefined;
55
72
  ttlSeconds?: number | undefined;
73
+ tag?: string | undefined;
74
+ host?: string | undefined;
75
+ targetVersion?: string | undefined;
76
+ workloadType?: string | undefined;
77
+ label?: string | undefined;
78
+ linearIssue?: string | undefined;
79
+ branch?: string | undefined;
80
+ customTags?: string | string[] | undefined;
81
+ requester?: string | undefined;
56
82
  purpose?: string | undefined;
57
83
  sessionId?: string | undefined;
58
84
  targetHost?: string | undefined;
59
85
  }>, {
60
- host: string;
61
86
  hypervisorType: "proxmox" | "esxi" | "any";
62
87
  durationMinutes: number;
63
- linearIssue?: string | undefined;
64
- tag?: string | undefined;
88
+ host: string;
89
+ tags?: string | string[] | undefined;
65
90
  ttlMinutes?: number | undefined;
66
- requester?: string | undefined;
67
91
  ttlSeconds?: number | undefined;
92
+ tag?: string | undefined;
93
+ targetVersion?: string | undefined;
94
+ workloadType?: string | undefined;
95
+ label?: string | undefined;
96
+ linearIssue?: string | undefined;
97
+ branch?: string | undefined;
98
+ customTags?: string | string[] | undefined;
99
+ requester?: string | undefined;
68
100
  purpose?: string | undefined;
69
101
  sessionId?: string | undefined;
70
102
  targetHost?: string | undefined;
71
103
  }, {
72
- host?: string | undefined;
73
- linearIssue?: string | undefined;
104
+ tags?: string | string[] | undefined;
74
105
  hypervisorType?: "proxmox" | "esxi" | "any" | undefined;
75
- tag?: string | undefined;
76
106
  durationMinutes?: number | undefined;
77
107
  ttlMinutes?: number | undefined;
78
- requester?: string | undefined;
79
108
  ttlSeconds?: number | undefined;
109
+ tag?: string | undefined;
110
+ host?: string | undefined;
111
+ targetVersion?: string | undefined;
112
+ workloadType?: string | undefined;
113
+ label?: string | undefined;
114
+ linearIssue?: string | undefined;
115
+ branch?: string | undefined;
116
+ customTags?: string | string[] | undefined;
117
+ requester?: string | undefined;
80
118
  purpose?: string | undefined;
81
119
  sessionId?: string | undefined;
82
120
  targetHost?: string | undefined;
@@ -103,33 +141,33 @@ export declare const ReleaseSlotInputSchema: z.ZodEffects<z.ZodObject<{
103
141
  destroyVm: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
104
142
  }, "strip", z.ZodTypeAny, {
105
143
  destroyVm: boolean;
106
- linearIssue?: string | undefined;
107
- claimId?: string | undefined;
108
144
  slotId?: string | undefined;
145
+ claimId?: string | undefined;
109
146
  tag?: string | undefined;
147
+ linearIssue?: string | undefined;
110
148
  requester?: string | undefined;
111
149
  sessionId?: string | undefined;
112
150
  }, {
113
- linearIssue?: string | undefined;
114
- claimId?: string | undefined;
115
151
  slotId?: string | undefined;
152
+ claimId?: string | undefined;
116
153
  tag?: string | undefined;
154
+ linearIssue?: string | undefined;
117
155
  requester?: string | undefined;
118
156
  sessionId?: string | undefined;
119
157
  destroyVm?: boolean | undefined;
120
158
  }>, {
121
159
  destroyVm: boolean;
122
- linearIssue?: string | undefined;
123
- claimId?: string | undefined;
124
160
  slotId?: string | undefined;
161
+ claimId?: string | undefined;
125
162
  tag?: string | undefined;
163
+ linearIssue?: string | undefined;
126
164
  requester?: string | undefined;
127
165
  sessionId?: string | undefined;
128
166
  }, {
129
- linearIssue?: string | undefined;
130
- claimId?: string | undefined;
131
167
  slotId?: string | undefined;
168
+ claimId?: string | undefined;
132
169
  tag?: string | undefined;
170
+ linearIssue?: string | undefined;
133
171
  requester?: string | undefined;
134
172
  sessionId?: string | undefined;
135
173
  destroyVm?: boolean | undefined;
@@ -143,6 +181,12 @@ export declare const ListSlotsInputShape: {
143
181
  tag: z.ZodOptional<z.ZodString>;
144
182
  requester: z.ZodOptional<z.ZodString>;
145
183
  linearIssue: z.ZodOptional<z.ZodString>;
184
+ label: z.ZodOptional<z.ZodString>;
185
+ workloadType: z.ZodOptional<z.ZodString>;
186
+ targetVersion: z.ZodOptional<z.ZodString>;
187
+ branch: z.ZodOptional<z.ZodString>;
188
+ filter: z.ZodOptional<z.ZodString>;
189
+ tags: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
146
190
  activeOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
147
191
  };
148
192
  export declare const ListSlotsInputSchema: z.ZodObject<{
@@ -151,19 +195,37 @@ export declare const ListSlotsInputSchema: z.ZodObject<{
151
195
  tag: z.ZodOptional<z.ZodString>;
152
196
  requester: z.ZodOptional<z.ZodString>;
153
197
  linearIssue: z.ZodOptional<z.ZodString>;
198
+ label: z.ZodOptional<z.ZodString>;
199
+ workloadType: z.ZodOptional<z.ZodString>;
200
+ targetVersion: z.ZodOptional<z.ZodString>;
201
+ branch: z.ZodOptional<z.ZodString>;
202
+ filter: z.ZodOptional<z.ZodString>;
203
+ tags: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
154
204
  activeOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
155
205
  }, "strip", z.ZodTypeAny, {
156
- host: string;
157
206
  hypervisorType: "proxmox" | "esxi" | "any";
207
+ host: string;
158
208
  activeOnly: boolean;
159
- linearIssue?: string | undefined;
209
+ tags?: string | string[] | undefined;
210
+ filter?: string | undefined;
160
211
  tag?: string | undefined;
212
+ targetVersion?: string | undefined;
213
+ workloadType?: string | undefined;
214
+ label?: string | undefined;
215
+ linearIssue?: string | undefined;
216
+ branch?: string | undefined;
161
217
  requester?: string | undefined;
162
218
  }, {
163
- host?: string | undefined;
164
- linearIssue?: string | undefined;
219
+ tags?: string | string[] | undefined;
220
+ filter?: string | undefined;
165
221
  hypervisorType?: "proxmox" | "esxi" | "any" | undefined;
166
222
  tag?: string | undefined;
223
+ host?: string | undefined;
224
+ targetVersion?: string | undefined;
225
+ workloadType?: string | undefined;
226
+ label?: string | undefined;
227
+ linearIssue?: string | undefined;
228
+ branch?: string | undefined;
167
229
  requester?: string | undefined;
168
230
  activeOnly?: boolean | undefined;
169
231
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"slot-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/slot-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAA2C,MAAM,iBAAiB,CAAC;AAE1F,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAc9C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;CAyD/B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AAEJ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAErE,wBAAsB,eAAe,CACnC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAyEzB;AAMD,eAAO,MAAM,qBAAqB;;;;;;;;CA8BjC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOhC,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEzE,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CA4DzB;AAMD,eAAO,MAAM,mBAAmB;;;;;;;CA4B/B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAAgC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAErE,wBAAsB,eAAe,CACnC,OAAO,EAAE,iBAAiB,YAAK,EAC/B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CA8BzB"}
1
+ {"version":3,"file":"slot-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/slot-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAA2C,MAAM,iBAAiB,CAAC;AAE1F,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAU9C,cAAc,kBAAkB,CAAC;AAMjC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;CAkF/B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AAEJ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAErE,wBAAsB,eAAe,CACnC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CA8EzB;AAMD,eAAO,MAAM,qBAAqB;;;;;;;;CA8BjC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOhC,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEzE,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CA4DzB;AAMD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;CAoD/B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAgC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAErE,wBAAsB,eAAe,CACnC,OAAO,EAAE,iBAAiB,YAAK,EAC/B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAoCzB"}
@@ -1,13 +1,15 @@
1
1
  /**
2
- * MCP Tools: claim_slot, release_slot, and list_slots
2
+ * MCP Tools: claim_slot, release_slot, list_slots, and purge_slots
3
3
  *
4
4
  * Manages 8GB appliance slot reservations, concurrency limits, lease TTLs,
5
- * least-loaded placement, and Linear issue tracking across Proxmox VE and VMware ESXi.
5
+ * least-loaded placement, structured labeling/tagging, and automated purge reclamation
6
+ * across Proxmox VE and VMware ESXi.
6
7
  */
7
8
  import { z } from "zod";
8
9
  import { ProxmoxErrorCode, createToolErrorResult } from "../types/mcp.js";
9
10
  import { formatClaimResult, formatReleaseResult, formatSlotList } from "../utils/formatters.js";
10
11
  import { CapacityExceededError, GlobalCapacityExceededError, InvalidSlotOperationError, SlotNotFoundError, DatastoreCapacityExceededError, } from "../slot/types.js";
12
+ export * from "./purge-slots.js";
11
13
  // ============================================================================
12
14
  // claim_slot
13
15
  // ============================================================================
@@ -24,6 +26,31 @@ export const ClaimSlotInputShape = {
24
26
  .string()
25
27
  .optional()
26
28
  .describe("Linear issue tracking key (e.g. 'CTUAT-693', '[LINEAR-UAT-101]')."),
29
+ label: z
30
+ .string()
31
+ .optional()
32
+ .describe("Human-readable descriptive label for the slot (e.g. 'UAT Soak Run #4', 'PR-402 Preview')."),
33
+ workloadType: z
34
+ .enum(["uat", "perf", "soak", "dev", "regression", "reproduction", "demo"])
35
+ .or(z.string())
36
+ .optional()
37
+ .describe("Workload category: 'uat', 'perf', 'soak', 'dev', 'regression', 'reproduction', or 'demo'."),
38
+ targetVersion: z
39
+ .string()
40
+ .optional()
41
+ .describe("Target Call Telemetry release version (e.g. '0.8.7-stable', '0.8.8-rc1')."),
42
+ branch: z
43
+ .string()
44
+ .optional()
45
+ .describe("Source git branch associated with this workload (e.g. 'main', 'feature/xcc-reconnect')."),
46
+ customTags: z
47
+ .union([z.array(z.string()), z.string()])
48
+ .optional()
49
+ .describe("Custom metadata tags (array of strings or comma-separated string)."),
50
+ tags: z
51
+ .union([z.array(z.string()), z.string()])
52
+ .optional()
53
+ .describe("Alias for customTags."),
27
54
  host: z
28
55
  .string()
29
56
  .optional()
@@ -71,8 +98,8 @@ export const ClaimSlotInputShape = {
71
98
  };
72
99
  export const ClaimSlotInputSchema = z
73
100
  .object(ClaimSlotInputShape)
74
- .refine((data) => Boolean(data.tag || data.linearIssue || data.requester), {
75
- message: "At least one of 'tag', 'linearIssue', or 'requester' must be provided to claim a slot.",
101
+ .refine((data) => Boolean(data.tag || data.linearIssue || data.requester || data.label), {
102
+ message: "At least one of 'tag', 'linearIssue', 'requester', or 'label' must be provided to claim a slot.",
76
103
  });
77
104
  export async function handleClaimSlot(rawArgs, context) {
78
105
  try {
@@ -83,9 +110,14 @@ export async function handleClaimSlot(rawArgs, context) {
83
110
  }
84
111
  const args = parseResult.data;
85
112
  const claim = await context.slotManager.claimSlot({
86
- tag: args.tag || args.linearIssue || args.requester,
113
+ tag: args.tag || args.linearIssue || args.requester || args.label,
87
114
  requester: args.requester || args.tag,
88
115
  linearIssue: args.linearIssue || (args.tag && args.tag.startsWith("CTUAT-") ? args.tag : undefined),
116
+ label: args.label,
117
+ workloadType: args.workloadType,
118
+ targetVersion: args.targetVersion,
119
+ branch: args.branch,
120
+ customTags: args.customTags || args.tags,
89
121
  host: args.host || args.targetHost,
90
122
  targetHost: args.targetHost || args.host,
91
123
  hypervisorType: args.hypervisorType,
@@ -257,6 +289,30 @@ export const ListSlotsInputShape = {
257
289
  .string()
258
290
  .optional()
259
291
  .describe("Filter slots by Linear issue key."),
292
+ label: z
293
+ .string()
294
+ .optional()
295
+ .describe("Filter slots by human-readable label."),
296
+ workloadType: z
297
+ .string()
298
+ .optional()
299
+ .describe("Filter slots by workload type (e.g. 'uat', 'perf', 'soak', 'dev', 'regression', 'reproduction', 'demo')."),
300
+ targetVersion: z
301
+ .string()
302
+ .optional()
303
+ .describe("Filter slots by target release version."),
304
+ branch: z
305
+ .string()
306
+ .optional()
307
+ .describe("Filter slots by git branch."),
308
+ filter: z
309
+ .string()
310
+ .optional()
311
+ .describe("Case-insensitive text search across label, tag, linear issue, workload, branch, version, purpose, requester, or VM name/ID."),
312
+ tags: z
313
+ .union([z.array(z.string()), z.string()])
314
+ .optional()
315
+ .describe("Filter slots matching any of the specified custom tags (array or comma-separated string)."),
260
316
  activeOnly: z
261
317
  .boolean()
262
318
  .optional()
@@ -274,6 +330,12 @@ export async function handleListSlots(rawArgs = {}, context) {
274
330
  tag: args.tag,
275
331
  requester: args.requester,
276
332
  linearIssue: args.linearIssue,
333
+ label: args.label,
334
+ workloadType: args.workloadType,
335
+ targetVersion: args.targetVersion,
336
+ branch: args.branch,
337
+ filter: args.filter,
338
+ tags: args.tags,
277
339
  activeOnly: args.activeOnly,
278
340
  });
279
341
  const summary = (await context.slotManager.listHosts());
@@ -1 +1 @@
1
- {"version":3,"file":"slot-tools.js","sourceRoot":"","sources":["../../../src/tools/slot-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEhG,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,EACzB,iBAAiB,EAEjB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAE1B,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mFAAmF,CAAC;IAChG,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oEAAoE,CAAC;IACjF,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mEAAmE,CAAC;IAChF,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,6HAA6H,CAAC;IAC1I,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,iBAAiB,CAAC;IAC9B,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;SAChC,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,6DAA6D,CAAC;IAC1E,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,EAAE,sCAAsC,CAAC;SAC9C,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,wEAAwE,CAAC;IACrF,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,EAAE,sCAAsC,CAAC;SAC9C,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,4BAA4B,CAAC;IACzC,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,EAAE,CAAC;SACP,GAAG,CAAC,KAAK,CAAC;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;IACvD,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,qDAAqD,CAAC;IAClE,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;CACjE,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC,mBAAmB,CAAC;KAC3B,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,EACjE;IACE,OAAO,EAAE,wFAAwF;CAClG,CACF,CAAC;AAKJ,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA0B,EAC1B,OAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,oBAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnG,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAE9B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC;YAChD,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS;YACnD,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG;YACrC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YACnG,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU;YAClC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI;YACxC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU;YACxD,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe;YACnD,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,CAA0B,CAAC;QAClF,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAErD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS,CAAC,QAAQ;iBACzB;aACF;YACD,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;SAC/C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;YAC3C,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE;gBAC9E,IAAI,EAAE,KAAK,CAAC,MAAM;gBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,KAAK,YAAY,2BAA2B,EAAE,CAAC;YACjD,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE;gBAC9E,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;aACnD,CAAC,CAAC;QACL,CAAC;QAED,IAAI,KAAK,YAAY,8BAA8B,EAAE,CAAC;YACpD,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE;gBAC9E,IAAI,EAAE,KAAK,CAAC,MAAM;gBAClB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,KAAK,YAAY,yBAAyB,EAAE,CAAC;YAC/C,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,KAAK,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO,qBAAqB,CAC1B,gBAAgB,CAAC,gBAAgB,EACjC,sBAAsB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtE,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IACjE,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kEAAkE,CAAC;IAC/E,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,qDAAqD,CAAC;IAClE,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8CAA8C,CAAC;IAC3D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,wBAAwB,CAAC;IACrC,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,mGAAmG,CAAC;CACjH,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC,qBAAqB,CAAC;KAC7B,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,EAChG;IACE,OAAO,EAAE,iFAAiF;CAC3F,CACF,CAAC;AAKJ,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAA4B,EAC5B,OAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,qBAAqB,CAC1B,gBAAgB,CAAC,gBAAgB,EACjC,iFAAiF,CAClF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAE9B,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC;YAC1D,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,6EAA6E;QAC7E,IAAI,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,YAAY,IAAI,aAAa,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACvH,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC;gBAC9C,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC;wBACvC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC;wBACxB,MAAM,EAAE,SAAS;wBACjB,KAAK,EAAE,IAAI;qBACZ,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,OAAO,CAAC,KAAK,CAAC,4CAA4C,IAAI,GAAG,EAAE,UAAU,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,CAA0B,CAAC;QAClF,MAAM,SAAS,GAAG,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAE/D,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS,CAAC,QAAQ;iBACzB;aACF;YACD,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;SAC/C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACvC,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,KAAK,YAAY,yBAAyB,EAAE,CAAC;YAC/C,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,kHAAkH,CAAC;IAC/H,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;SAChC,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,+DAA+D,CAAC;IAC5E,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uCAAuC,CAAC;IACpD,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mCAAmC,CAAC;IAChD,UAAU,EAAE,CAAC;SACV,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,+CAA+C,CAAC;CAC7D,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAIlE,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAA6B,EAAE,EAC/B,OAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAE/D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC;YAChD,IAAI,EAAE,UAAU;YAChB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,CAA0B,CAAC;QACjF,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEjD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS,CAAC,QAAQ;iBACzB;aACF;YACD,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;SAC/C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"slot-tools.js","sourceRoot":"","sources":["../../../src/tools/slot-tools.ts"],"names":[],"mappings":"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"}
@@ -29,10 +29,10 @@ export declare const VmActionInputShape: {
29
29
  full: boolean;
30
30
  name?: string | undefined;
31
31
  tags?: string | string[] | undefined;
32
+ ipAddress?: string | undefined;
33
+ linearIssue?: string | undefined;
32
34
  newid?: number | undefined;
33
35
  vlan?: number | undefined;
34
- linearIssue?: string | undefined;
35
- ipAddress?: string | undefined;
36
36
  targetHost?: string | undefined;
37
37
  newVmName?: string | undefined;
38
38
  newVmId?: string | number | undefined;
@@ -40,11 +40,11 @@ export declare const VmActionInputShape: {
40
40
  }, {
41
41
  name?: string | undefined;
42
42
  tags?: string | string[] | undefined;
43
+ ipAddress?: string | undefined;
44
+ linearIssue?: string | undefined;
43
45
  newid?: number | undefined;
44
46
  full?: boolean | undefined;
45
47
  vlan?: number | undefined;
46
- linearIssue?: string | undefined;
47
- ipAddress?: string | undefined;
48
48
  targetHost?: string | undefined;
49
49
  newVmName?: string | undefined;
50
50
  newVmId?: string | number | undefined;
@@ -75,10 +75,10 @@ export declare const VmActionInputSchema: z.ZodEffects<z.ZodObject<{
75
75
  full: boolean;
76
76
  name?: string | undefined;
77
77
  tags?: string | string[] | undefined;
78
+ ipAddress?: string | undefined;
79
+ linearIssue?: string | undefined;
78
80
  newid?: number | undefined;
79
81
  vlan?: number | undefined;
80
- linearIssue?: string | undefined;
81
- ipAddress?: string | undefined;
82
82
  targetHost?: string | undefined;
83
83
  newVmName?: string | undefined;
84
84
  newVmId?: string | number | undefined;
@@ -86,11 +86,11 @@ export declare const VmActionInputSchema: z.ZodEffects<z.ZodObject<{
86
86
  }, {
87
87
  name?: string | undefined;
88
88
  tags?: string | string[] | undefined;
89
+ ipAddress?: string | undefined;
90
+ linearIssue?: string | undefined;
89
91
  newid?: number | undefined;
90
92
  full?: boolean | undefined;
91
93
  vlan?: number | undefined;
92
- linearIssue?: string | undefined;
93
- ipAddress?: string | undefined;
94
94
  targetHost?: string | undefined;
95
95
  newVmName?: string | undefined;
96
96
  newVmId?: string | number | undefined;
@@ -103,85 +103,85 @@ export declare const VmActionInputSchema: z.ZodEffects<z.ZodObject<{
103
103
  force: boolean;
104
104
  host?: string | undefined;
105
105
  vmid?: string | number | undefined;
106
+ timeoutSeconds?: number | undefined;
106
107
  targetHost?: string | undefined;
107
108
  vmIdOrName?: string | number | undefined;
108
109
  cloneOptions?: {
109
110
  full: boolean;
110
111
  name?: string | undefined;
111
112
  tags?: string | string[] | undefined;
113
+ ipAddress?: string | undefined;
114
+ linearIssue?: string | undefined;
112
115
  newid?: number | undefined;
113
116
  vlan?: number | undefined;
114
- linearIssue?: string | undefined;
115
- ipAddress?: string | undefined;
116
117
  targetHost?: string | undefined;
117
118
  newVmName?: string | undefined;
118
119
  newVmId?: string | number | undefined;
119
120
  macAddress?: string | undefined;
120
121
  } | undefined;
121
- timeoutSeconds?: number | undefined;
122
122
  }, {
123
123
  action: "config" | "start" | "stop" | "reboot" | "shutdown" | "reset" | "status" | "destroy" | "clone";
124
124
  host?: string | undefined;
125
125
  vmid?: string | number | undefined;
126
+ timeoutSeconds?: number | undefined;
127
+ force?: boolean | undefined;
126
128
  targetHost?: string | undefined;
127
129
  vmIdOrName?: string | number | undefined;
128
130
  cloneOptions?: {
129
131
  name?: string | undefined;
130
132
  tags?: string | string[] | undefined;
133
+ ipAddress?: string | undefined;
134
+ linearIssue?: string | undefined;
131
135
  newid?: number | undefined;
132
136
  full?: boolean | undefined;
133
137
  vlan?: number | undefined;
134
- linearIssue?: string | undefined;
135
- ipAddress?: string | undefined;
136
138
  targetHost?: string | undefined;
137
139
  newVmName?: string | undefined;
138
140
  newVmId?: string | number | undefined;
139
141
  macAddress?: string | undefined;
140
142
  } | undefined;
141
- force?: boolean | undefined;
142
- timeoutSeconds?: number | undefined;
143
143
  }>, {
144
144
  action: "config" | "start" | "stop" | "reboot" | "shutdown" | "reset" | "status" | "destroy" | "clone";
145
145
  force: boolean;
146
146
  host?: string | undefined;
147
147
  vmid?: string | number | undefined;
148
+ timeoutSeconds?: number | undefined;
148
149
  targetHost?: string | undefined;
149
150
  vmIdOrName?: string | number | undefined;
150
151
  cloneOptions?: {
151
152
  full: boolean;
152
153
  name?: string | undefined;
153
154
  tags?: string | string[] | undefined;
155
+ ipAddress?: string | undefined;
156
+ linearIssue?: string | undefined;
154
157
  newid?: number | undefined;
155
158
  vlan?: number | undefined;
156
- linearIssue?: string | undefined;
157
- ipAddress?: string | undefined;
158
159
  targetHost?: string | undefined;
159
160
  newVmName?: string | undefined;
160
161
  newVmId?: string | number | undefined;
161
162
  macAddress?: string | undefined;
162
163
  } | undefined;
163
- timeoutSeconds?: number | undefined;
164
164
  }, {
165
165
  action: "config" | "start" | "stop" | "reboot" | "shutdown" | "reset" | "status" | "destroy" | "clone";
166
166
  host?: string | undefined;
167
167
  vmid?: string | number | undefined;
168
+ timeoutSeconds?: number | undefined;
169
+ force?: boolean | undefined;
168
170
  targetHost?: string | undefined;
169
171
  vmIdOrName?: string | number | undefined;
170
172
  cloneOptions?: {
171
173
  name?: string | undefined;
172
174
  tags?: string | string[] | undefined;
175
+ ipAddress?: string | undefined;
176
+ linearIssue?: string | undefined;
173
177
  newid?: number | undefined;
174
178
  full?: boolean | undefined;
175
179
  vlan?: number | undefined;
176
- linearIssue?: string | undefined;
177
- ipAddress?: string | undefined;
178
180
  targetHost?: string | undefined;
179
181
  newVmName?: string | undefined;
180
182
  newVmId?: string | number | undefined;
181
183
  macAddress?: string | undefined;
182
184
  } | undefined;
183
- force?: boolean | undefined;
184
- timeoutSeconds?: number | undefined;
185
185
  }>;
186
186
  export type VmActionInput = z.infer<typeof VmActionInputSchema>;
187
187
  export type VmActionRawInput = z.input<typeof VmActionInputSchema>;
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Output Formatters for Proxmox MCP Tools
3
- * Generates human-readable Markdown tables with status indicators (🟢 🟡 🔴)
2
+ * Output Formatters for Call Telemetry Lab MCP Tools
3
+ * Generates human-readable Markdown tables with status indicators (🟢 🟡 🔴 🛡️)
4
4
  * and dual structured JSON payloads for AI and programmatic consumption.
5
5
  */
6
- import { SlotDefinition, HostCapacityStatus, GlobalCapacitySummary, SlotClaimResult, ReleaseSlotResult } from "../types/slot.js";
6
+ import { SlotDefinition, HostCapacityStatus, GlobalCapacitySummary, SlotClaimResult, ReleaseSlotResult, PurgeSlotsResult } from "../types/slot.js";
7
7
  import { ProxmoxHostConfig } from "../types/config.js";
8
8
  import { NodeStatus, ProxmoxVmResource, ProxmoxTaskResult } from "../types/proxmox.js";
9
9
  export interface FormattedResult {
@@ -39,12 +39,16 @@ export declare function formatClaimResult(result: SlotClaimResult, capacity?: Gl
39
39
  * Format slot release result into Markdown + JSON
40
40
  */
41
41
  export declare function formatReleaseResult(result: ReleaseSlotResult, capacity?: GlobalCapacitySummary): FormattedResult;
42
+ /**
43
+ * Format slot & VM purge result into Markdown + JSON
44
+ */
45
+ export declare function formatPurgeResult(result: PurgeSlotsResult, capacity?: GlobalCapacitySummary): FormattedResult;
42
46
  /**
43
47
  * Format VM action execution result into Markdown + JSON
44
48
  */
45
49
  export declare function formatVmActionResult(data: {
46
50
  host: string;
47
- vmid: number;
51
+ vmid: number | string;
48
52
  action: string;
49
53
  success: boolean;
50
54
  taskResult?: ProxmoxTaskResult;
@@ -68,4 +72,34 @@ export declare function formatProvisionResult(result: any, slotClaim?: any): For
68
72
  * Format appliance CLI execution result into Markdown + JSON
69
73
  */
70
74
  export declare function formatApplianceExecResult(result: any): FormattedResult;
75
+ export interface AutoProvisionResult {
76
+ success: boolean;
77
+ slotId: string;
78
+ claimId: string;
79
+ vmId: string | number;
80
+ vmName: string;
81
+ host: string;
82
+ hypervisorType: "proxmox" | "esxi";
83
+ ipAddress: string;
84
+ sshEndpoint: {
85
+ host: string;
86
+ port: number;
87
+ user: string;
88
+ };
89
+ apiEndpoint: string;
90
+ targetVersion?: string;
91
+ deployedVersion?: string;
92
+ workloadType?: string;
93
+ label?: string;
94
+ linearIssue?: string;
95
+ branch?: string;
96
+ tags?: string[];
97
+ expiresAt: string;
98
+ readyDurationMs: number;
99
+ healthStatus: "healthy" | "unverified";
100
+ }
101
+ /**
102
+ * Format automated end-to-end VM provisioning result into Markdown + JSON
103
+ */
104
+ export declare function formatAutoProvisionResult(result: AutoProvisionResult): FormattedResult;
71
105
  //# sourceMappingURL=formatters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../../src/utils/formatters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEvF,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,iBAAiB,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAK3C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,qBAAqB,GAAG,kBAAkB,EACnD,QAAQ,CAAC,EAAE,YAAY,EAAE,GACxB,eAAe,CA0FjB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,eAAe,CA8DjB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,eAAe,EACvB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,eAAe,CAsDjB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,iBAAiB,EACzB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,eAAe,CAkDjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,GAAG,eAAe,CAoDlB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,GAAG,EAAE,EACjB,WAAW,CAAC,EAAE,GAAG,GAChB,eAAe,CAmHjB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,GAAG,EAAE,EACV,MAAM,CAAC,EAAE,GAAG,GACX,eAAe,CA8CjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,GAAG,EACX,SAAS,CAAC,EAAE,GAAG,GACd,eAAe,CA2CjB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,GAAG,GACV,eAAe,CAkCjB"}
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../../src/utils/formatters.ts"],"names":[],"mappings":"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"}