@bldg-7/proxmox-mcp 0.1.0
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.
- package/LICENSE +21 -0
- package/README.md +1033 -0
- package/dist/client/proxmox.d.ts +14 -0
- package/dist/client/proxmox.d.ts.map +1 -0
- package/dist/client/proxmox.js +82 -0
- package/dist/client/proxmox.js.map +1 -0
- package/dist/config/index.d.ts +4 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +24 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/schema.d.ts +31 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +32 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/formatters/index.d.ts +42 -0
- package/dist/formatters/index.d.ts.map +1 -0
- package/dist/formatters/index.js +85 -0
- package/dist/formatters/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/index.d.ts +41 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +69 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/prompts/index.d.ts +2 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +2 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/resources/index.d.ts +2 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +2 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/schemas/backup.d.ts +101 -0
- package/dist/schemas/backup.d.ts.map +1 -0
- package/dist/schemas/backup.js +43 -0
- package/dist/schemas/backup.js.map +1 -0
- package/dist/schemas/disk.d.ts +144 -0
- package/dist/schemas/disk.d.ts.map +1 -0
- package/dist/schemas/disk.js +60 -0
- package/dist/schemas/disk.js.map +1 -0
- package/dist/schemas/index.d.ts +7 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +7 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/network.d.ts +140 -0
- package/dist/schemas/network.d.ts.map +1 -0
- package/dist/schemas/network.js +56 -0
- package/dist/schemas/network.js.map +1 -0
- package/dist/schemas/node.d.ts +16 -0
- package/dist/schemas/node.d.ts.map +1 -0
- package/dist/schemas/node.js +12 -0
- package/dist/schemas/node.js.map +1 -0
- package/dist/schemas/snapshot.d.ts +116 -0
- package/dist/schemas/snapshot.d.ts.map +1 -0
- package/dist/schemas/snapshot.js +34 -0
- package/dist/schemas/snapshot.js.map +1 -0
- package/dist/schemas/vm.d.ts +330 -0
- package/dist/schemas/vm.d.ts.map +1 -0
- package/dist/schemas/vm.js +111 -0
- package/dist/schemas/vm.js.map +1 -0
- package/dist/server.d.ts +5 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +142 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/backup.d.ts +35 -0
- package/dist/tools/backup.d.ts.map +1 -0
- package/dist/tools/backup.js +210 -0
- package/dist/tools/backup.js.map +1 -0
- package/dist/tools/cluster.d.ts +15 -0
- package/dist/tools/cluster.d.ts.map +1 -0
- package/dist/tools/cluster.js +82 -0
- package/dist/tools/cluster.js.map +1 -0
- package/dist/tools/command.d.ts +6 -0
- package/dist/tools/command.d.ts.map +1 -0
- package/dist/tools/command.js +26 -0
- package/dist/tools/command.js.map +1 -0
- package/dist/tools/disk.d.ts +45 -0
- package/dist/tools/disk.d.ts.map +1 -0
- package/dist/tools/disk.js +243 -0
- package/dist/tools/disk.js.map +1 -0
- package/dist/tools/index.d.ts +12 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +20 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/network.d.ts +35 -0
- package/dist/tools/network.d.ts.map +1 -0
- package/dist/tools/network.js +270 -0
- package/dist/tools/network.js.map +1 -0
- package/dist/tools/node.d.ts +15 -0
- package/dist/tools/node.d.ts.map +1 -0
- package/dist/tools/node.js +73 -0
- package/dist/tools/node.js.map +1 -0
- package/dist/tools/registry.d.ts +12 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +87 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/snapshot.d.ts +45 -0
- package/dist/tools/snapshot.d.ts.map +1 -0
- package/dist/tools/snapshot.js +249 -0
- package/dist/tools/snapshot.js.map +1 -0
- package/dist/tools/vm-create.d.ts +8 -0
- package/dist/tools/vm-create.d.ts.map +1 -0
- package/dist/tools/vm-create.js +129 -0
- package/dist/tools/vm-create.js.map +1 -0
- package/dist/tools/vm-lifecycle.d.ts +67 -0
- package/dist/tools/vm-lifecycle.d.ts.map +1 -0
- package/dist/tools/vm-lifecycle.js +319 -0
- package/dist/tools/vm-lifecycle.js.map +1 -0
- package/dist/tools/vm-modify.d.ts +25 -0
- package/dist/tools/vm-modify.d.ts.map +1 -0
- package/dist/tools/vm-modify.js +155 -0
- package/dist/tools/vm-modify.js.map +1 -0
- package/dist/tools/vm-query.d.ts +20 -0
- package/dist/tools/vm-query.d.ts.map +1 -0
- package/dist/tools/vm-query.js +166 -0
- package/dist/tools/vm-query.js.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/proxmox.d.ts +166 -0
- package/dist/types/proxmox.d.ts.map +1 -0
- package/dist/types/proxmox.js +2 -0
- package/dist/types/proxmox.js.map +1 -0
- package/dist/types/tools.d.ts +12 -0
- package/dist/types/tools.d.ts.map +1 -0
- package/dist/types/tools.js +64 -0
- package/dist/types/tools.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +8 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/validators/index.d.ts +75 -0
- package/dist/validators/index.d.ts.map +1 -0
- package/dist/validators/index.js +185 -0
- package/dist/validators/index.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const createSnapshotLxcSchema: z.ZodObject<{
|
|
3
|
+
node: z.ZodString;
|
|
4
|
+
vmid: z.ZodNumber;
|
|
5
|
+
snapname: z.ZodString;
|
|
6
|
+
} & {
|
|
7
|
+
description: z.ZodOptional<z.ZodString>;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
node: string;
|
|
10
|
+
vmid: number;
|
|
11
|
+
snapname: string;
|
|
12
|
+
description?: string | undefined;
|
|
13
|
+
}, {
|
|
14
|
+
node: string;
|
|
15
|
+
vmid: number;
|
|
16
|
+
snapname: string;
|
|
17
|
+
description?: string | undefined;
|
|
18
|
+
}>;
|
|
19
|
+
export type CreateSnapshotLxcInput = z.infer<typeof createSnapshotLxcSchema>;
|
|
20
|
+
export declare const createSnapshotVmSchema: z.ZodObject<{
|
|
21
|
+
node: z.ZodString;
|
|
22
|
+
vmid: z.ZodNumber;
|
|
23
|
+
snapname: z.ZodString;
|
|
24
|
+
} & {
|
|
25
|
+
description: z.ZodOptional<z.ZodString>;
|
|
26
|
+
}, "strip", z.ZodTypeAny, {
|
|
27
|
+
node: string;
|
|
28
|
+
vmid: number;
|
|
29
|
+
snapname: string;
|
|
30
|
+
description?: string | undefined;
|
|
31
|
+
}, {
|
|
32
|
+
node: string;
|
|
33
|
+
vmid: number;
|
|
34
|
+
snapname: string;
|
|
35
|
+
description?: string | undefined;
|
|
36
|
+
}>;
|
|
37
|
+
export type CreateSnapshotVmInput = z.infer<typeof createSnapshotVmSchema>;
|
|
38
|
+
export declare const listSnapshotsLxcSchema: z.ZodObject<{
|
|
39
|
+
node: z.ZodString;
|
|
40
|
+
vmid: z.ZodNumber;
|
|
41
|
+
}, "strip", z.ZodTypeAny, {
|
|
42
|
+
node: string;
|
|
43
|
+
vmid: number;
|
|
44
|
+
}, {
|
|
45
|
+
node: string;
|
|
46
|
+
vmid: number;
|
|
47
|
+
}>;
|
|
48
|
+
export type ListSnapshotsLxcInput = z.infer<typeof listSnapshotsLxcSchema>;
|
|
49
|
+
export declare const listSnapshotsVmSchema: z.ZodObject<{
|
|
50
|
+
node: z.ZodString;
|
|
51
|
+
vmid: z.ZodNumber;
|
|
52
|
+
}, "strip", z.ZodTypeAny, {
|
|
53
|
+
node: string;
|
|
54
|
+
vmid: number;
|
|
55
|
+
}, {
|
|
56
|
+
node: string;
|
|
57
|
+
vmid: number;
|
|
58
|
+
}>;
|
|
59
|
+
export type ListSnapshotsVmInput = z.infer<typeof listSnapshotsVmSchema>;
|
|
60
|
+
export declare const rollbackSnapshotLxcSchema: z.ZodObject<{
|
|
61
|
+
node: z.ZodString;
|
|
62
|
+
vmid: z.ZodNumber;
|
|
63
|
+
snapname: z.ZodString;
|
|
64
|
+
}, "strip", z.ZodTypeAny, {
|
|
65
|
+
node: string;
|
|
66
|
+
vmid: number;
|
|
67
|
+
snapname: string;
|
|
68
|
+
}, {
|
|
69
|
+
node: string;
|
|
70
|
+
vmid: number;
|
|
71
|
+
snapname: string;
|
|
72
|
+
}>;
|
|
73
|
+
export type RollbackSnapshotLxcInput = z.infer<typeof rollbackSnapshotLxcSchema>;
|
|
74
|
+
export declare const rollbackSnapshotVmSchema: z.ZodObject<{
|
|
75
|
+
node: z.ZodString;
|
|
76
|
+
vmid: z.ZodNumber;
|
|
77
|
+
snapname: z.ZodString;
|
|
78
|
+
}, "strip", z.ZodTypeAny, {
|
|
79
|
+
node: string;
|
|
80
|
+
vmid: number;
|
|
81
|
+
snapname: string;
|
|
82
|
+
}, {
|
|
83
|
+
node: string;
|
|
84
|
+
vmid: number;
|
|
85
|
+
snapname: string;
|
|
86
|
+
}>;
|
|
87
|
+
export type RollbackSnapshotVmInput = z.infer<typeof rollbackSnapshotVmSchema>;
|
|
88
|
+
export declare const deleteSnapshotLxcSchema: z.ZodObject<{
|
|
89
|
+
node: z.ZodString;
|
|
90
|
+
vmid: z.ZodNumber;
|
|
91
|
+
snapname: z.ZodString;
|
|
92
|
+
}, "strip", z.ZodTypeAny, {
|
|
93
|
+
node: string;
|
|
94
|
+
vmid: number;
|
|
95
|
+
snapname: string;
|
|
96
|
+
}, {
|
|
97
|
+
node: string;
|
|
98
|
+
vmid: number;
|
|
99
|
+
snapname: string;
|
|
100
|
+
}>;
|
|
101
|
+
export type DeleteSnapshotLxcInput = z.infer<typeof deleteSnapshotLxcSchema>;
|
|
102
|
+
export declare const deleteSnapshotVmSchema: z.ZodObject<{
|
|
103
|
+
node: z.ZodString;
|
|
104
|
+
vmid: z.ZodNumber;
|
|
105
|
+
snapname: z.ZodString;
|
|
106
|
+
}, "strip", z.ZodTypeAny, {
|
|
107
|
+
node: string;
|
|
108
|
+
vmid: number;
|
|
109
|
+
snapname: string;
|
|
110
|
+
}, {
|
|
111
|
+
node: string;
|
|
112
|
+
vmid: number;
|
|
113
|
+
snapname: string;
|
|
114
|
+
}>;
|
|
115
|
+
export type DeleteSnapshotVmInput = z.infer<typeof deleteSnapshotVmSchema>;
|
|
116
|
+
//# sourceMappingURL=snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/schemas/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;EAAuB,CAAC;AAE5D,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAG7E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;EAAuB,CAAC;AAE3D,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAG3E,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAG3E,eAAO,MAAM,qBAAqB;;;;;;;;;EAGhC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGzE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAAqB,CAAC;AAE5D,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAGjF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAAqB,CAAC;AAE3D,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAG/E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;EAAqB,CAAC;AAE1D,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAG7E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAAqB,CAAC;AAEzD,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
// Base schema for snapshot operations
|
|
3
|
+
const baseSnapshotSchema = z.object({
|
|
4
|
+
node: z.string().min(1).describe('Node name where container/VM is located'),
|
|
5
|
+
vmid: z.coerce.number().describe('Container/VM ID number'),
|
|
6
|
+
snapname: z.string().min(1).describe('Snapshot name'),
|
|
7
|
+
});
|
|
8
|
+
// Base schema for create operations with optional description
|
|
9
|
+
const createSnapshotSchema = baseSnapshotSchema.extend({
|
|
10
|
+
description: z.string().optional().describe('Optional snapshot description'),
|
|
11
|
+
});
|
|
12
|
+
// proxmox_create_snapshot_lxc - Create a snapshot of an LXC container
|
|
13
|
+
export const createSnapshotLxcSchema = createSnapshotSchema;
|
|
14
|
+
// proxmox_create_snapshot_vm - Create a snapshot of a QEMU VM
|
|
15
|
+
export const createSnapshotVmSchema = createSnapshotSchema;
|
|
16
|
+
// proxmox_list_snapshots_lxc - List all snapshots of an LXC container
|
|
17
|
+
export const listSnapshotsLxcSchema = z.object({
|
|
18
|
+
node: z.string().min(1).describe('Node name where container is located'),
|
|
19
|
+
vmid: z.coerce.number().describe('Container ID number'),
|
|
20
|
+
});
|
|
21
|
+
// proxmox_list_snapshots_vm - List all snapshots of a QEMU VM
|
|
22
|
+
export const listSnapshotsVmSchema = z.object({
|
|
23
|
+
node: z.string().min(1).describe('Node name where VM is located'),
|
|
24
|
+
vmid: z.coerce.number().describe('VM ID number'),
|
|
25
|
+
});
|
|
26
|
+
// proxmox_rollback_snapshot_lxc - Rollback an LXC container to a snapshot
|
|
27
|
+
export const rollbackSnapshotLxcSchema = baseSnapshotSchema;
|
|
28
|
+
// proxmox_rollback_snapshot_vm - Rollback a QEMU VM to a snapshot
|
|
29
|
+
export const rollbackSnapshotVmSchema = baseSnapshotSchema;
|
|
30
|
+
// proxmox_delete_snapshot_lxc - Delete a snapshot of an LXC container
|
|
31
|
+
export const deleteSnapshotLxcSchema = baseSnapshotSchema;
|
|
32
|
+
// proxmox_delete_snapshot_vm - Delete a snapshot of a QEMU VM
|
|
33
|
+
export const deleteSnapshotVmSchema = baseSnapshotSchema;
|
|
34
|
+
//# sourceMappingURL=snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/schemas/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,sCAAsC;AACtC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAC3E,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC1D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;CACtD,CAAC,CAAC;AAEH,8DAA8D;AAC9D,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,MAAM,CAAC;IACrD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;CAC7E,CAAC,CAAC;AAEH,sEAAsE;AACtE,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAI5D,8DAA8D;AAC9D,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAI3D,sEAAsE;AACtE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACxE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;CACxD,CAAC,CAAC;AAIH,8DAA8D;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACjE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;CACjD,CAAC,CAAC;AAIH,0EAA0E;AAC1E,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;AAI5D,kEAAkE;AAClE,MAAM,CAAC,MAAM,wBAAwB,GAAG,kBAAkB,CAAC;AAI3D,sEAAsE;AACtE,MAAM,CAAC,MAAM,uBAAuB,GAAG,kBAAkB,CAAC;AAI1D,8DAA8D;AAC9D,MAAM,CAAC,MAAM,sBAAsB,GAAG,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const getVmsSchema: z.ZodObject<{
|
|
3
|
+
node: z.ZodOptional<z.ZodString>;
|
|
4
|
+
type: z.ZodDefault<z.ZodEnum<["qemu", "lxc", "all"]>>;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
type: "qemu" | "lxc" | "all";
|
|
7
|
+
node?: string | undefined;
|
|
8
|
+
}, {
|
|
9
|
+
type?: "qemu" | "lxc" | "all" | undefined;
|
|
10
|
+
node?: string | undefined;
|
|
11
|
+
}>;
|
|
12
|
+
export type GetVmsInput = z.infer<typeof getVmsSchema>;
|
|
13
|
+
export declare const getVmStatusSchema: z.ZodObject<{
|
|
14
|
+
node: z.ZodString;
|
|
15
|
+
vmid: z.ZodNumber;
|
|
16
|
+
type: z.ZodDefault<z.ZodEnum<["qemu", "lxc"]>>;
|
|
17
|
+
}, "strip", z.ZodTypeAny, {
|
|
18
|
+
type: "qemu" | "lxc";
|
|
19
|
+
node: string;
|
|
20
|
+
vmid: number;
|
|
21
|
+
}, {
|
|
22
|
+
node: string;
|
|
23
|
+
vmid: number;
|
|
24
|
+
type?: "qemu" | "lxc" | undefined;
|
|
25
|
+
}>;
|
|
26
|
+
export type GetVmStatusInput = z.infer<typeof getVmStatusSchema>;
|
|
27
|
+
export declare const getStorageSchema: z.ZodObject<{
|
|
28
|
+
node: z.ZodOptional<z.ZodString>;
|
|
29
|
+
}, "strip", z.ZodTypeAny, {
|
|
30
|
+
node?: string | undefined;
|
|
31
|
+
}, {
|
|
32
|
+
node?: string | undefined;
|
|
33
|
+
}>;
|
|
34
|
+
export type GetStorageInput = z.infer<typeof getStorageSchema>;
|
|
35
|
+
export declare const executeVmCommandSchema: z.ZodObject<{
|
|
36
|
+
node: z.ZodString;
|
|
37
|
+
vmid: z.ZodNumber;
|
|
38
|
+
command: z.ZodString;
|
|
39
|
+
type: z.ZodDefault<z.ZodEnum<["qemu", "lxc"]>>;
|
|
40
|
+
}, "strip", z.ZodTypeAny, {
|
|
41
|
+
type: "qemu" | "lxc";
|
|
42
|
+
node: string;
|
|
43
|
+
vmid: number;
|
|
44
|
+
command: string;
|
|
45
|
+
}, {
|
|
46
|
+
node: string;
|
|
47
|
+
vmid: number;
|
|
48
|
+
command: string;
|
|
49
|
+
type?: "qemu" | "lxc" | undefined;
|
|
50
|
+
}>;
|
|
51
|
+
export type ExecuteVmCommandInput = z.infer<typeof executeVmCommandSchema>;
|
|
52
|
+
export declare const listTemplatesSchema: z.ZodObject<{
|
|
53
|
+
node: z.ZodString;
|
|
54
|
+
storage: z.ZodDefault<z.ZodString>;
|
|
55
|
+
}, "strip", z.ZodTypeAny, {
|
|
56
|
+
node: string;
|
|
57
|
+
storage: string;
|
|
58
|
+
}, {
|
|
59
|
+
node: string;
|
|
60
|
+
storage?: string | undefined;
|
|
61
|
+
}>;
|
|
62
|
+
export type ListTemplatesInput = z.infer<typeof listTemplatesSchema>;
|
|
63
|
+
export declare const createLxcSchema: z.ZodObject<{
|
|
64
|
+
node: z.ZodString;
|
|
65
|
+
vmid: z.ZodNumber;
|
|
66
|
+
ostemplate: z.ZodString;
|
|
67
|
+
hostname: z.ZodOptional<z.ZodString>;
|
|
68
|
+
password: z.ZodOptional<z.ZodString>;
|
|
69
|
+
memory: z.ZodDefault<z.ZodNumber>;
|
|
70
|
+
storage: z.ZodDefault<z.ZodString>;
|
|
71
|
+
rootfs: z.ZodDefault<z.ZodString>;
|
|
72
|
+
}, "strip", z.ZodTypeAny, {
|
|
73
|
+
node: string;
|
|
74
|
+
vmid: number;
|
|
75
|
+
storage: string;
|
|
76
|
+
ostemplate: string;
|
|
77
|
+
memory: number;
|
|
78
|
+
rootfs: string;
|
|
79
|
+
hostname?: string | undefined;
|
|
80
|
+
password?: string | undefined;
|
|
81
|
+
}, {
|
|
82
|
+
node: string;
|
|
83
|
+
vmid: number;
|
|
84
|
+
ostemplate: string;
|
|
85
|
+
storage?: string | undefined;
|
|
86
|
+
hostname?: string | undefined;
|
|
87
|
+
password?: string | undefined;
|
|
88
|
+
memory?: number | undefined;
|
|
89
|
+
rootfs?: string | undefined;
|
|
90
|
+
}>;
|
|
91
|
+
export type CreateLxcInput = z.infer<typeof createLxcSchema>;
|
|
92
|
+
export declare const createVmSchema: z.ZodObject<{
|
|
93
|
+
node: z.ZodString;
|
|
94
|
+
vmid: z.ZodNumber;
|
|
95
|
+
name: z.ZodOptional<z.ZodString>;
|
|
96
|
+
memory: z.ZodDefault<z.ZodNumber>;
|
|
97
|
+
cores: z.ZodDefault<z.ZodNumber>;
|
|
98
|
+
sockets: z.ZodDefault<z.ZodNumber>;
|
|
99
|
+
disk_size: z.ZodDefault<z.ZodString>;
|
|
100
|
+
storage: z.ZodDefault<z.ZodString>;
|
|
101
|
+
iso: z.ZodOptional<z.ZodString>;
|
|
102
|
+
ostype: z.ZodDefault<z.ZodString>;
|
|
103
|
+
net0: z.ZodDefault<z.ZodString>;
|
|
104
|
+
}, "strip", z.ZodTypeAny, {
|
|
105
|
+
node: string;
|
|
106
|
+
vmid: number;
|
|
107
|
+
storage: string;
|
|
108
|
+
memory: number;
|
|
109
|
+
cores: number;
|
|
110
|
+
sockets: number;
|
|
111
|
+
disk_size: string;
|
|
112
|
+
ostype: string;
|
|
113
|
+
net0: string;
|
|
114
|
+
name?: string | undefined;
|
|
115
|
+
iso?: string | undefined;
|
|
116
|
+
}, {
|
|
117
|
+
node: string;
|
|
118
|
+
vmid: number;
|
|
119
|
+
storage?: string | undefined;
|
|
120
|
+
memory?: number | undefined;
|
|
121
|
+
name?: string | undefined;
|
|
122
|
+
cores?: number | undefined;
|
|
123
|
+
sockets?: number | undefined;
|
|
124
|
+
disk_size?: string | undefined;
|
|
125
|
+
iso?: string | undefined;
|
|
126
|
+
ostype?: string | undefined;
|
|
127
|
+
net0?: string | undefined;
|
|
128
|
+
}>;
|
|
129
|
+
export type CreateVmInput = z.infer<typeof createVmSchema>;
|
|
130
|
+
export declare const startLxcSchema: z.ZodObject<{
|
|
131
|
+
node: z.ZodString;
|
|
132
|
+
vmid: z.ZodNumber;
|
|
133
|
+
}, "strip", z.ZodTypeAny, {
|
|
134
|
+
node: string;
|
|
135
|
+
vmid: number;
|
|
136
|
+
}, {
|
|
137
|
+
node: string;
|
|
138
|
+
vmid: number;
|
|
139
|
+
}>;
|
|
140
|
+
export type StartLxcInput = z.infer<typeof startLxcSchema>;
|
|
141
|
+
export declare const startVmSchema: z.ZodObject<{
|
|
142
|
+
node: z.ZodString;
|
|
143
|
+
vmid: z.ZodNumber;
|
|
144
|
+
}, "strip", z.ZodTypeAny, {
|
|
145
|
+
node: string;
|
|
146
|
+
vmid: number;
|
|
147
|
+
}, {
|
|
148
|
+
node: string;
|
|
149
|
+
vmid: number;
|
|
150
|
+
}>;
|
|
151
|
+
export type StartVmInput = z.infer<typeof startVmSchema>;
|
|
152
|
+
export declare const stopLxcSchema: z.ZodObject<{
|
|
153
|
+
node: z.ZodString;
|
|
154
|
+
vmid: z.ZodNumber;
|
|
155
|
+
}, "strip", z.ZodTypeAny, {
|
|
156
|
+
node: string;
|
|
157
|
+
vmid: number;
|
|
158
|
+
}, {
|
|
159
|
+
node: string;
|
|
160
|
+
vmid: number;
|
|
161
|
+
}>;
|
|
162
|
+
export type StopLxcInput = z.infer<typeof stopLxcSchema>;
|
|
163
|
+
export declare const stopVmSchema: z.ZodObject<{
|
|
164
|
+
node: z.ZodString;
|
|
165
|
+
vmid: z.ZodNumber;
|
|
166
|
+
}, "strip", z.ZodTypeAny, {
|
|
167
|
+
node: string;
|
|
168
|
+
vmid: number;
|
|
169
|
+
}, {
|
|
170
|
+
node: string;
|
|
171
|
+
vmid: number;
|
|
172
|
+
}>;
|
|
173
|
+
export type StopVmInput = z.infer<typeof stopVmSchema>;
|
|
174
|
+
export declare const deleteLxcSchema: z.ZodObject<{
|
|
175
|
+
node: z.ZodString;
|
|
176
|
+
vmid: z.ZodNumber;
|
|
177
|
+
}, "strip", z.ZodTypeAny, {
|
|
178
|
+
node: string;
|
|
179
|
+
vmid: number;
|
|
180
|
+
}, {
|
|
181
|
+
node: string;
|
|
182
|
+
vmid: number;
|
|
183
|
+
}>;
|
|
184
|
+
export type DeleteLxcInput = z.infer<typeof deleteLxcSchema>;
|
|
185
|
+
export declare const deleteVmSchema: z.ZodObject<{
|
|
186
|
+
node: z.ZodString;
|
|
187
|
+
vmid: z.ZodNumber;
|
|
188
|
+
}, "strip", z.ZodTypeAny, {
|
|
189
|
+
node: string;
|
|
190
|
+
vmid: number;
|
|
191
|
+
}, {
|
|
192
|
+
node: string;
|
|
193
|
+
vmid: number;
|
|
194
|
+
}>;
|
|
195
|
+
export type DeleteVmInput = z.infer<typeof deleteVmSchema>;
|
|
196
|
+
export declare const rebootLxcSchema: z.ZodObject<{
|
|
197
|
+
node: z.ZodString;
|
|
198
|
+
vmid: z.ZodNumber;
|
|
199
|
+
}, "strip", z.ZodTypeAny, {
|
|
200
|
+
node: string;
|
|
201
|
+
vmid: number;
|
|
202
|
+
}, {
|
|
203
|
+
node: string;
|
|
204
|
+
vmid: number;
|
|
205
|
+
}>;
|
|
206
|
+
export type RebootLxcInput = z.infer<typeof rebootLxcSchema>;
|
|
207
|
+
export declare const rebootVmSchema: z.ZodObject<{
|
|
208
|
+
node: z.ZodString;
|
|
209
|
+
vmid: z.ZodNumber;
|
|
210
|
+
}, "strip", z.ZodTypeAny, {
|
|
211
|
+
node: string;
|
|
212
|
+
vmid: number;
|
|
213
|
+
}, {
|
|
214
|
+
node: string;
|
|
215
|
+
vmid: number;
|
|
216
|
+
}>;
|
|
217
|
+
export type RebootVmInput = z.infer<typeof rebootVmSchema>;
|
|
218
|
+
export declare const shutdownLxcSchema: z.ZodObject<{
|
|
219
|
+
node: z.ZodString;
|
|
220
|
+
vmid: z.ZodNumber;
|
|
221
|
+
}, "strip", z.ZodTypeAny, {
|
|
222
|
+
node: string;
|
|
223
|
+
vmid: number;
|
|
224
|
+
}, {
|
|
225
|
+
node: string;
|
|
226
|
+
vmid: number;
|
|
227
|
+
}>;
|
|
228
|
+
export type ShutdownLxcInput = z.infer<typeof shutdownLxcSchema>;
|
|
229
|
+
export declare const shutdownVmSchema: z.ZodObject<{
|
|
230
|
+
node: z.ZodString;
|
|
231
|
+
vmid: z.ZodNumber;
|
|
232
|
+
}, "strip", z.ZodTypeAny, {
|
|
233
|
+
node: string;
|
|
234
|
+
vmid: number;
|
|
235
|
+
}, {
|
|
236
|
+
node: string;
|
|
237
|
+
vmid: number;
|
|
238
|
+
}>;
|
|
239
|
+
export type ShutdownVmInput = z.infer<typeof shutdownVmSchema>;
|
|
240
|
+
export declare const pauseVmSchema: z.ZodObject<{
|
|
241
|
+
node: z.ZodString;
|
|
242
|
+
vmid: z.ZodNumber;
|
|
243
|
+
}, "strip", z.ZodTypeAny, {
|
|
244
|
+
node: string;
|
|
245
|
+
vmid: number;
|
|
246
|
+
}, {
|
|
247
|
+
node: string;
|
|
248
|
+
vmid: number;
|
|
249
|
+
}>;
|
|
250
|
+
export type PauseVmInput = z.infer<typeof pauseVmSchema>;
|
|
251
|
+
export declare const resumeVmSchema: z.ZodObject<{
|
|
252
|
+
node: z.ZodString;
|
|
253
|
+
vmid: z.ZodNumber;
|
|
254
|
+
}, "strip", z.ZodTypeAny, {
|
|
255
|
+
node: string;
|
|
256
|
+
vmid: number;
|
|
257
|
+
}, {
|
|
258
|
+
node: string;
|
|
259
|
+
vmid: number;
|
|
260
|
+
}>;
|
|
261
|
+
export type ResumeVmInput = z.infer<typeof resumeVmSchema>;
|
|
262
|
+
export declare const cloneLxcSchema: z.ZodObject<{
|
|
263
|
+
node: z.ZodString;
|
|
264
|
+
vmid: z.ZodNumber;
|
|
265
|
+
newid: z.ZodNumber;
|
|
266
|
+
hostname: z.ZodOptional<z.ZodString>;
|
|
267
|
+
}, "strip", z.ZodTypeAny, {
|
|
268
|
+
node: string;
|
|
269
|
+
vmid: number;
|
|
270
|
+
newid: number;
|
|
271
|
+
hostname?: string | undefined;
|
|
272
|
+
}, {
|
|
273
|
+
node: string;
|
|
274
|
+
vmid: number;
|
|
275
|
+
newid: number;
|
|
276
|
+
hostname?: string | undefined;
|
|
277
|
+
}>;
|
|
278
|
+
export type CloneLxcInput = z.infer<typeof cloneLxcSchema>;
|
|
279
|
+
export declare const cloneVmSchema: z.ZodObject<{
|
|
280
|
+
node: z.ZodString;
|
|
281
|
+
vmid: z.ZodNumber;
|
|
282
|
+
newid: z.ZodNumber;
|
|
283
|
+
name: z.ZodOptional<z.ZodString>;
|
|
284
|
+
}, "strip", z.ZodTypeAny, {
|
|
285
|
+
node: string;
|
|
286
|
+
vmid: number;
|
|
287
|
+
newid: number;
|
|
288
|
+
name?: string | undefined;
|
|
289
|
+
}, {
|
|
290
|
+
node: string;
|
|
291
|
+
vmid: number;
|
|
292
|
+
newid: number;
|
|
293
|
+
name?: string | undefined;
|
|
294
|
+
}>;
|
|
295
|
+
export type CloneVmInput = z.infer<typeof cloneVmSchema>;
|
|
296
|
+
export declare const resizeLxcSchema: z.ZodObject<{
|
|
297
|
+
node: z.ZodString;
|
|
298
|
+
vmid: z.ZodNumber;
|
|
299
|
+
memory: z.ZodOptional<z.ZodNumber>;
|
|
300
|
+
cores: z.ZodOptional<z.ZodNumber>;
|
|
301
|
+
}, "strip", z.ZodTypeAny, {
|
|
302
|
+
node: string;
|
|
303
|
+
vmid: number;
|
|
304
|
+
memory?: number | undefined;
|
|
305
|
+
cores?: number | undefined;
|
|
306
|
+
}, {
|
|
307
|
+
node: string;
|
|
308
|
+
vmid: number;
|
|
309
|
+
memory?: number | undefined;
|
|
310
|
+
cores?: number | undefined;
|
|
311
|
+
}>;
|
|
312
|
+
export type ResizeLxcInput = z.infer<typeof resizeLxcSchema>;
|
|
313
|
+
export declare const resizeVmSchema: z.ZodObject<{
|
|
314
|
+
node: z.ZodString;
|
|
315
|
+
vmid: z.ZodNumber;
|
|
316
|
+
memory: z.ZodOptional<z.ZodNumber>;
|
|
317
|
+
cores: z.ZodOptional<z.ZodNumber>;
|
|
318
|
+
}, "strip", z.ZodTypeAny, {
|
|
319
|
+
node: string;
|
|
320
|
+
vmid: number;
|
|
321
|
+
memory?: number | undefined;
|
|
322
|
+
cores?: number | undefined;
|
|
323
|
+
}, {
|
|
324
|
+
node: string;
|
|
325
|
+
vmid: number;
|
|
326
|
+
memory?: number | undefined;
|
|
327
|
+
cores?: number | undefined;
|
|
328
|
+
}>;
|
|
329
|
+
export type ResizeVmInput = z.infer<typeof resizeVmSchema>;
|
|
330
|
+
//# sourceMappingURL=vm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vm.d.ts","sourceRoot":"","sources":["../../src/schemas/vm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
// Base schema for node + vmid operations
|
|
3
|
+
const baseVmSchema = z.object({
|
|
4
|
+
node: z.string().min(1).describe('Node name where VM is located'),
|
|
5
|
+
vmid: z.coerce.number().describe('VM ID number'),
|
|
6
|
+
});
|
|
7
|
+
// proxmox_get_vms - List all VMs
|
|
8
|
+
export const getVmsSchema = z.object({
|
|
9
|
+
node: z.string().optional().describe('Optional: filter by specific node'),
|
|
10
|
+
type: z.enum(['qemu', 'lxc', 'all']).default('all').describe('VM type filter'),
|
|
11
|
+
});
|
|
12
|
+
// proxmox_get_vm_status - Get detailed status for a specific VM
|
|
13
|
+
export const getVmStatusSchema = z.object({
|
|
14
|
+
node: z.string().min(1).describe('Node name where VM is located'),
|
|
15
|
+
vmid: z.coerce.number().describe('VM ID number'),
|
|
16
|
+
type: z.enum(['qemu', 'lxc']).default('qemu').describe('VM type'),
|
|
17
|
+
});
|
|
18
|
+
// proxmox_get_storage - List all storage pools
|
|
19
|
+
export const getStorageSchema = z.object({
|
|
20
|
+
node: z.string().optional().describe('Optional: filter by specific node'),
|
|
21
|
+
});
|
|
22
|
+
// proxmox_execute_vm_command - Execute a shell command on a VM
|
|
23
|
+
export const executeVmCommandSchema = z.object({
|
|
24
|
+
node: z.string().min(1).describe('Node name where VM is located'),
|
|
25
|
+
vmid: z.coerce.number().describe('VM ID number'),
|
|
26
|
+
command: z.string().min(1).describe('Shell command to execute'),
|
|
27
|
+
type: z.enum(['qemu', 'lxc']).default('qemu').describe('VM type'),
|
|
28
|
+
});
|
|
29
|
+
// proxmox_list_templates - List available LXC templates
|
|
30
|
+
export const listTemplatesSchema = z.object({
|
|
31
|
+
node: z.string().min(1).describe('Node name'),
|
|
32
|
+
storage: z.string().default('local').describe('Storage name (e.g., local)'),
|
|
33
|
+
});
|
|
34
|
+
// proxmox_create_lxc - Create a new LXC container
|
|
35
|
+
export const createLxcSchema = z.object({
|
|
36
|
+
node: z.string().min(1).describe('Node name where container will be created'),
|
|
37
|
+
vmid: z.coerce.number().describe('Container ID number (must be unique, or use proxmox_get_next_vmid)'),
|
|
38
|
+
ostemplate: z.string().min(1).describe('OS template (e.g., local:vztmpl/debian-12-standard_12.2-1_amd64.tar.gz)'),
|
|
39
|
+
hostname: z.string().min(1).optional().describe('Container hostname'),
|
|
40
|
+
password: z.string().min(1).optional().describe('Root password'),
|
|
41
|
+
memory: z.number().default(512).describe('RAM in MB'),
|
|
42
|
+
storage: z.string().default('local-lvm').describe('Storage location'),
|
|
43
|
+
rootfs: z.string().default('8').describe('Root filesystem size in GB'),
|
|
44
|
+
});
|
|
45
|
+
// proxmox_create_vm - Create a new QEMU VM
|
|
46
|
+
export const createVmSchema = z.object({
|
|
47
|
+
node: z.string().min(1).describe('Node name where VM will be created'),
|
|
48
|
+
vmid: z.coerce.number().describe('VM ID number (must be unique, or use proxmox_get_next_vmid)'),
|
|
49
|
+
name: z.string().min(1).optional().describe('VM name'),
|
|
50
|
+
memory: z.number().default(512).describe('RAM in MB'),
|
|
51
|
+
cores: z.number().default(1).describe('Number of CPU cores'),
|
|
52
|
+
sockets: z.number().default(1).describe('Number of CPU sockets'),
|
|
53
|
+
disk_size: z.string().default('8G').describe('Disk size (e.g., "8G", "10G")'),
|
|
54
|
+
storage: z.string().default('local-lvm').describe('Storage location for disk'),
|
|
55
|
+
iso: z.string().optional().describe('ISO image (e.g., "local:iso/alpine-virt-3.19.1-x86_64.iso"), optional'),
|
|
56
|
+
ostype: z.string().default('l26').describe('OS type (l26=Linux 2.6+, win10, etc)'),
|
|
57
|
+
net0: z.string().default('virtio,bridge=vmbr0').describe('Network interface config'),
|
|
58
|
+
});
|
|
59
|
+
// proxmox_start_lxc - Start an LXC container
|
|
60
|
+
export const startLxcSchema = baseVmSchema;
|
|
61
|
+
// proxmox_start_vm - Start a QEMU VM
|
|
62
|
+
export const startVmSchema = baseVmSchema;
|
|
63
|
+
// proxmox_stop_lxc - Stop an LXC container
|
|
64
|
+
export const stopLxcSchema = baseVmSchema;
|
|
65
|
+
// proxmox_stop_vm - Stop a QEMU VM
|
|
66
|
+
export const stopVmSchema = baseVmSchema;
|
|
67
|
+
// proxmox_delete_lxc - Delete an LXC container
|
|
68
|
+
export const deleteLxcSchema = baseVmSchema;
|
|
69
|
+
// proxmox_delete_vm - Delete a QEMU VM
|
|
70
|
+
export const deleteVmSchema = baseVmSchema;
|
|
71
|
+
// proxmox_reboot_lxc - Reboot an LXC container
|
|
72
|
+
export const rebootLxcSchema = baseVmSchema;
|
|
73
|
+
// proxmox_reboot_vm - Reboot a QEMU VM
|
|
74
|
+
export const rebootVmSchema = baseVmSchema;
|
|
75
|
+
// proxmox_shutdown_lxc - Gracefully shutdown an LXC container
|
|
76
|
+
export const shutdownLxcSchema = baseVmSchema;
|
|
77
|
+
// proxmox_shutdown_vm - Gracefully shutdown a QEMU VM
|
|
78
|
+
export const shutdownVmSchema = baseVmSchema;
|
|
79
|
+
// proxmox_pause_vm - Pause a QEMU VM
|
|
80
|
+
export const pauseVmSchema = baseVmSchema;
|
|
81
|
+
// proxmox_resume_vm - Resume a paused QEMU VM
|
|
82
|
+
export const resumeVmSchema = baseVmSchema;
|
|
83
|
+
// proxmox_clone_lxc - Clone an LXC container
|
|
84
|
+
export const cloneLxcSchema = z.object({
|
|
85
|
+
node: z.string().min(1).describe('Node name where container is located'),
|
|
86
|
+
vmid: z.coerce.number().describe('Container ID to clone from'),
|
|
87
|
+
newid: z.coerce.number().describe('New container ID'),
|
|
88
|
+
hostname: z.string().optional().describe('Hostname for cloned container (optional)'),
|
|
89
|
+
});
|
|
90
|
+
// proxmox_clone_vm - Clone a QEMU VM
|
|
91
|
+
export const cloneVmSchema = z.object({
|
|
92
|
+
node: z.string().min(1).describe('Node name where VM is located'),
|
|
93
|
+
vmid: z.coerce.number().describe('VM ID to clone from'),
|
|
94
|
+
newid: z.coerce.number().describe('New VM ID'),
|
|
95
|
+
name: z.string().optional().describe('Name for cloned VM (optional)'),
|
|
96
|
+
});
|
|
97
|
+
// proxmox_resize_lxc - Resize an LXC container CPU/memory
|
|
98
|
+
export const resizeLxcSchema = z.object({
|
|
99
|
+
node: z.string().min(1).describe('Node name where container is located'),
|
|
100
|
+
vmid: z.coerce.number().describe('Container ID number'),
|
|
101
|
+
memory: z.number().optional().describe('Memory in MB (optional)'),
|
|
102
|
+
cores: z.number().optional().describe('Number of CPU cores (optional)'),
|
|
103
|
+
});
|
|
104
|
+
// proxmox_resize_vm - Resize a QEMU VM CPU/memory
|
|
105
|
+
export const resizeVmSchema = z.object({
|
|
106
|
+
node: z.string().min(1).describe('Node name where VM is located'),
|
|
107
|
+
vmid: z.coerce.number().describe('VM ID number'),
|
|
108
|
+
memory: z.number().optional().describe('Memory in MB (optional)'),
|
|
109
|
+
cores: z.number().optional().describe('Number of CPU cores (optional)'),
|
|
110
|
+
});
|
|
111
|
+
//# sourceMappingURL=vm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vm.js","sourceRoot":"","sources":["../../src/schemas/vm.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
2
|
+
import type { ProxmoxApiClient } from './client/proxmox.js';
|
|
3
|
+
import type { Config } from './config/index.js';
|
|
4
|
+
export declare function createServer(client: ProxmoxApiClient, config: Config): Server;
|
|
5
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAOnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAoFhD,wBAAgB,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAmF7E"}
|