elasticsearch-mcp-vsee-stage 0.5.13

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 (83) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +304 -0
  3. package/build/config.d.ts +76 -0
  4. package/build/config.d.ts.map +1 -0
  5. package/build/config.js +63 -0
  6. package/build/config.js.map +1 -0
  7. package/build/elasticsearch/client.d.ts +26 -0
  8. package/build/elasticsearch/client.d.ts.map +1 -0
  9. package/build/elasticsearch/client.js +131 -0
  10. package/build/elasticsearch/client.js.map +1 -0
  11. package/build/errors/handlers.d.ts +44 -0
  12. package/build/errors/handlers.d.ts.map +1 -0
  13. package/build/errors/handlers.js +231 -0
  14. package/build/errors/handlers.js.map +1 -0
  15. package/build/index.d.ts +9 -0
  16. package/build/index.d.ts.map +1 -0
  17. package/build/index.js +28 -0
  18. package/build/index.js.map +1 -0
  19. package/build/logger.d.ts +31 -0
  20. package/build/logger.d.ts.map +1 -0
  21. package/build/logger.js +81 -0
  22. package/build/logger.js.map +1 -0
  23. package/build/server.d.ts +23 -0
  24. package/build/server.d.ts.map +1 -0
  25. package/build/server.js +571 -0
  26. package/build/server.js.map +1 -0
  27. package/build/tools/find-entities-by-metric.d.ts +51 -0
  28. package/build/tools/find-entities-by-metric.d.ts.map +1 -0
  29. package/build/tools/find-entities-by-metric.js +375 -0
  30. package/build/tools/find-entities-by-metric.js.map +1 -0
  31. package/build/tools/get-index-fields.d.ts +26 -0
  32. package/build/tools/get-index-fields.d.ts.map +1 -0
  33. package/build/tools/get-index-fields.js +94 -0
  34. package/build/tools/get-index-fields.js.map +1 -0
  35. package/build/tools/get-platform-breakdown.d.ts +42 -0
  36. package/build/tools/get-platform-breakdown.d.ts.map +1 -0
  37. package/build/tools/get-platform-breakdown.js +305 -0
  38. package/build/tools/get-platform-breakdown.js.map +1 -0
  39. package/build/tools/get-rating-distribution.d.ts +48 -0
  40. package/build/tools/get-rating-distribution.d.ts.map +1 -0
  41. package/build/tools/get-rating-distribution.js +283 -0
  42. package/build/tools/get-rating-distribution.js.map +1 -0
  43. package/build/tools/get-subscription-breakdown.d.ts +34 -0
  44. package/build/tools/get-subscription-breakdown.d.ts.map +1 -0
  45. package/build/tools/get-subscription-breakdown.js +179 -0
  46. package/build/tools/get-subscription-breakdown.js.map +1 -0
  47. package/build/tools/get-usage-leaderboard.d.ts +38 -0
  48. package/build/tools/get-usage-leaderboard.d.ts.map +1 -0
  49. package/build/tools/get-usage-leaderboard.js +177 -0
  50. package/build/tools/get-usage-leaderboard.js.map +1 -0
  51. package/build/tools/get-usage-profile.d.ts +52 -0
  52. package/build/tools/get-usage-profile.d.ts.map +1 -0
  53. package/build/tools/get-usage-profile.js +273 -0
  54. package/build/tools/get-usage-profile.js.map +1 -0
  55. package/build/tools/get-visit-trends.d.ts +37 -0
  56. package/build/tools/get-visit-trends.d.ts.map +1 -0
  57. package/build/tools/get-visit-trends.js +289 -0
  58. package/build/tools/get-visit-trends.js.map +1 -0
  59. package/build/tools/index.d.ts +19 -0
  60. package/build/tools/index.d.ts.map +1 -0
  61. package/build/tools/index.js +22 -0
  62. package/build/tools/index.js.map +1 -0
  63. package/build/tools/top-change.d.ts +34 -0
  64. package/build/tools/top-change.d.ts.map +1 -0
  65. package/build/tools/top-change.js +262 -0
  66. package/build/tools/top-change.js.map +1 -0
  67. package/build/utils/aggregation-limits.d.ts +23 -0
  68. package/build/utils/aggregation-limits.d.ts.map +1 -0
  69. package/build/utils/aggregation-limits.js +32 -0
  70. package/build/utils/aggregation-limits.js.map +1 -0
  71. package/build/utils/date-math.d.ts +31 -0
  72. package/build/utils/date-math.d.ts.map +1 -0
  73. package/build/utils/date-math.js +116 -0
  74. package/build/utils/date-math.js.map +1 -0
  75. package/build/utils/field-constants.d.ts +23 -0
  76. package/build/utils/field-constants.d.ts.map +1 -0
  77. package/build/utils/field-constants.js +26 -0
  78. package/build/utils/field-constants.js.map +1 -0
  79. package/build/validation/schemas.d.ts +243 -0
  80. package/build/validation/schemas.d.ts.map +1 -0
  81. package/build/validation/schemas.js +151 -0
  82. package/build/validation/schemas.js.map +1 -0
  83. package/package.json +65 -0
@@ -0,0 +1,243 @@
1
+ import { z } from 'zod';
2
+ export declare const IndexNameSchema: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
3
+ export declare const IndexPatternSchema: z.ZodString;
4
+ export declare const DocumentIdSchema: z.ZodString;
5
+ export declare const QuerySchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
6
+ export declare const SortSchema: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
7
+ export declare const AggregationsSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
8
+ export declare const HighlightSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
9
+ export declare const SourceSchema: z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodBoolean]>;
10
+ export declare const PaginationSchema: z.ZodObject<{
11
+ size: z.ZodOptional<z.ZodNumber>;
12
+ from: z.ZodOptional<z.ZodNumber>;
13
+ }, "strip", z.ZodTypeAny, {
14
+ size?: number | undefined;
15
+ from?: number | undefined;
16
+ }, {
17
+ size?: number | undefined;
18
+ from?: number | undefined;
19
+ }>;
20
+ export declare const RefreshSchema: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodLiteral<"wait_for">, z.ZodLiteral<"false">, z.ZodLiteral<"true">]>>;
21
+ export declare const SearchArgsSchema: z.ZodObject<{
22
+ index: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
23
+ query: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
24
+ size: z.ZodOptional<z.ZodNumber>;
25
+ from: z.ZodOptional<z.ZodNumber>;
26
+ sort: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
27
+ aggregations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
28
+ highlight: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
29
+ source: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodBoolean]>>;
30
+ }, "strict", z.ZodTypeAny, {
31
+ index: string;
32
+ sort?: Record<string, unknown>[] | undefined;
33
+ query?: Record<string, unknown> | undefined;
34
+ size?: number | undefined;
35
+ aggregations?: Record<string, unknown> | undefined;
36
+ from?: number | undefined;
37
+ highlight?: Record<string, unknown> | undefined;
38
+ source?: boolean | string[] | undefined;
39
+ }, {
40
+ index: string;
41
+ sort?: Record<string, unknown>[] | undefined;
42
+ query?: Record<string, unknown> | undefined;
43
+ size?: number | undefined;
44
+ aggregations?: Record<string, unknown> | undefined;
45
+ from?: number | undefined;
46
+ highlight?: Record<string, unknown> | undefined;
47
+ source?: boolean | string[] | undefined;
48
+ }>;
49
+ export declare const FetchIndicesArgsSchema: z.ZodObject<{
50
+ pattern: z.ZodOptional<z.ZodString>;
51
+ includeSystemIndices: z.ZodOptional<z.ZodBoolean>;
52
+ sortBy: z.ZodOptional<z.ZodEnum<["name", "size", "docs"]>>;
53
+ }, "strict", z.ZodTypeAny, {
54
+ pattern?: string | undefined;
55
+ includeSystemIndices?: boolean | undefined;
56
+ sortBy?: "name" | "size" | "docs" | undefined;
57
+ }, {
58
+ pattern?: string | undefined;
59
+ includeSystemIndices?: boolean | undefined;
60
+ sortBy?: "name" | "size" | "docs" | undefined;
61
+ }>;
62
+ export declare const CreateIndexArgsSchema: z.ZodObject<{
63
+ name: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
64
+ mappings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
65
+ settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
66
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
67
+ }, "strict", z.ZodTypeAny, {
68
+ name: string;
69
+ mappings?: Record<string, unknown> | undefined;
70
+ settings?: Record<string, unknown> | undefined;
71
+ aliases?: string[] | undefined;
72
+ }, {
73
+ name: string;
74
+ mappings?: Record<string, unknown> | undefined;
75
+ settings?: Record<string, unknown> | undefined;
76
+ aliases?: string[] | undefined;
77
+ }>;
78
+ export declare const InsertDataArgsSchema: z.ZodObject<{
79
+ index: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
80
+ document: z.ZodRecord<z.ZodString, z.ZodUnknown>;
81
+ id: z.ZodOptional<z.ZodString>;
82
+ refresh: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodLiteral<"wait_for">, z.ZodLiteral<"false">, z.ZodLiteral<"true">]>>>;
83
+ }, "strict", z.ZodTypeAny, {
84
+ index: string;
85
+ document: Record<string, unknown>;
86
+ id?: string | undefined;
87
+ refresh?: boolean | "wait_for" | "false" | "true" | undefined;
88
+ }, {
89
+ index: string;
90
+ document: Record<string, unknown>;
91
+ id?: string | undefined;
92
+ refresh?: boolean | "wait_for" | "false" | "true" | undefined;
93
+ }>;
94
+ export declare const UpdateDocumentArgsSchema: z.ZodEffects<z.ZodObject<{
95
+ index: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
96
+ id: z.ZodString;
97
+ document: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
98
+ script: z.ZodOptional<z.ZodObject<{
99
+ source: z.ZodString;
100
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
101
+ }, "strip", z.ZodTypeAny, {
102
+ source: string;
103
+ params?: Record<string, unknown> | undefined;
104
+ }, {
105
+ source: string;
106
+ params?: Record<string, unknown> | undefined;
107
+ }>>;
108
+ upsert: z.ZodOptional<z.ZodBoolean>;
109
+ refresh: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodLiteral<"wait_for">, z.ZodLiteral<"false">, z.ZodLiteral<"true">]>>>;
110
+ }, "strict", z.ZodTypeAny, {
111
+ index: string;
112
+ id: string;
113
+ document?: Record<string, unknown> | undefined;
114
+ refresh?: boolean | "wait_for" | "false" | "true" | undefined;
115
+ script?: {
116
+ source: string;
117
+ params?: Record<string, unknown> | undefined;
118
+ } | undefined;
119
+ upsert?: boolean | undefined;
120
+ }, {
121
+ index: string;
122
+ id: string;
123
+ document?: Record<string, unknown> | undefined;
124
+ refresh?: boolean | "wait_for" | "false" | "true" | undefined;
125
+ script?: {
126
+ source: string;
127
+ params?: Record<string, unknown> | undefined;
128
+ } | undefined;
129
+ upsert?: boolean | undefined;
130
+ }>, {
131
+ index: string;
132
+ id: string;
133
+ document?: Record<string, unknown> | undefined;
134
+ refresh?: boolean | "wait_for" | "false" | "true" | undefined;
135
+ script?: {
136
+ source: string;
137
+ params?: Record<string, unknown> | undefined;
138
+ } | undefined;
139
+ upsert?: boolean | undefined;
140
+ }, {
141
+ index: string;
142
+ id: string;
143
+ document?: Record<string, unknown> | undefined;
144
+ refresh?: boolean | "wait_for" | "false" | "true" | undefined;
145
+ script?: {
146
+ source: string;
147
+ params?: Record<string, unknown> | undefined;
148
+ } | undefined;
149
+ upsert?: boolean | undefined;
150
+ }>;
151
+ export declare const DeleteDocumentArgsSchema: z.ZodEffects<z.ZodObject<{
152
+ index: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
153
+ id: z.ZodOptional<z.ZodString>;
154
+ query: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
155
+ conflicts: z.ZodOptional<z.ZodEnum<["abort", "proceed"]>>;
156
+ refresh: z.ZodOptional<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodLiteral<"wait_for">, z.ZodLiteral<"false">, z.ZodLiteral<"true">]>>>;
157
+ }, "strict", z.ZodTypeAny, {
158
+ index: string;
159
+ query?: Record<string, unknown> | undefined;
160
+ id?: string | undefined;
161
+ refresh?: boolean | "wait_for" | "false" | "true" | undefined;
162
+ conflicts?: "abort" | "proceed" | undefined;
163
+ }, {
164
+ index: string;
165
+ query?: Record<string, unknown> | undefined;
166
+ id?: string | undefined;
167
+ refresh?: boolean | "wait_for" | "false" | "true" | undefined;
168
+ conflicts?: "abort" | "proceed" | undefined;
169
+ }>, {
170
+ index: string;
171
+ query?: Record<string, unknown> | undefined;
172
+ id?: string | undefined;
173
+ refresh?: boolean | "wait_for" | "false" | "true" | undefined;
174
+ conflicts?: "abort" | "proceed" | undefined;
175
+ }, {
176
+ index: string;
177
+ query?: Record<string, unknown> | undefined;
178
+ id?: string | undefined;
179
+ refresh?: boolean | "wait_for" | "false" | "true" | undefined;
180
+ conflicts?: "abort" | "proceed" | undefined;
181
+ }>;
182
+ export declare const ExportToCSVArgsSchema: z.ZodObject<{
183
+ index: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
184
+ query: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
185
+ fields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
186
+ filename: z.ZodOptional<z.ZodString>;
187
+ format: z.ZodOptional<z.ZodObject<{
188
+ delimiter: z.ZodOptional<z.ZodString>;
189
+ quote: z.ZodOptional<z.ZodString>;
190
+ escape: z.ZodOptional<z.ZodString>;
191
+ header: z.ZodOptional<z.ZodBoolean>;
192
+ }, "strip", z.ZodTypeAny, {
193
+ delimiter?: string | undefined;
194
+ quote?: string | undefined;
195
+ escape?: string | undefined;
196
+ header?: boolean | undefined;
197
+ }, {
198
+ delimiter?: string | undefined;
199
+ quote?: string | undefined;
200
+ escape?: string | undefined;
201
+ header?: boolean | undefined;
202
+ }>>;
203
+ maxRows: z.ZodOptional<z.ZodNumber>;
204
+ compress: z.ZodOptional<z.ZodBoolean>;
205
+ }, "strict", z.ZodTypeAny, {
206
+ index: string;
207
+ fields?: string[] | undefined;
208
+ query?: Record<string, unknown> | undefined;
209
+ filename?: string | undefined;
210
+ format?: {
211
+ delimiter?: string | undefined;
212
+ quote?: string | undefined;
213
+ escape?: string | undefined;
214
+ header?: boolean | undefined;
215
+ } | undefined;
216
+ maxRows?: number | undefined;
217
+ compress?: boolean | undefined;
218
+ }, {
219
+ index: string;
220
+ fields?: string[] | undefined;
221
+ query?: Record<string, unknown> | undefined;
222
+ filename?: string | undefined;
223
+ format?: {
224
+ delimiter?: string | undefined;
225
+ quote?: string | undefined;
226
+ escape?: string | undefined;
227
+ header?: boolean | undefined;
228
+ } | undefined;
229
+ maxRows?: number | undefined;
230
+ compress?: boolean | undefined;
231
+ }>;
232
+ export declare function validateIndexName(name: string): string;
233
+ export declare function validateDocumentId(id: string): string;
234
+ export declare function validatePagination(params: {
235
+ size?: number;
236
+ from?: number;
237
+ }): {
238
+ size: number | undefined;
239
+ from: number | undefined;
240
+ };
241
+ export declare function sanitizeQuery(query: unknown): Record<string, unknown> | undefined;
242
+ export declare function sanitizeScriptSource(source: string): string;
243
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/validation/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe,yEAKwD,CAAC;AAGrF,eAAO,MAAM,kBAAkB,aAGuH,CAAC;AAEvJ,eAAO,MAAM,gBAAgB,aAE0B,CAAC;AAExD,eAAO,MAAM,WAAW,wCAAwB,CAAC;AAEjD,eAAO,MAAM,UAAU,4DAAiC,CAAC;AAEzD,eAAO,MAAM,kBAAkB,wCAAwB,CAAC;AAExD,eAAO,MAAM,eAAe,wCAAwB,CAAC;AAErD,eAAO,MAAM,YAAY,6DAGvB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAC;AAEH,eAAO,MAAM,aAAa,kHAKb,CAAC;AAEd,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;EASlB,CAAC;AAEZ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAIxB,CAAC;AAEZ,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKvB,CAAC;AAEZ,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAKtB,CAAC;AAEZ,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAapC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASpC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAavB,CAAC;AAEZ,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAMnI;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAqBjF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAoB3D"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExportToCSVArgsSchema = exports.DeleteDocumentArgsSchema = exports.UpdateDocumentArgsSchema = exports.InsertDataArgsSchema = exports.CreateIndexArgsSchema = exports.FetchIndicesArgsSchema = exports.SearchArgsSchema = exports.RefreshSchema = exports.PaginationSchema = exports.SourceSchema = exports.HighlightSchema = exports.AggregationsSchema = exports.SortSchema = exports.QuerySchema = exports.DocumentIdSchema = exports.IndexPatternSchema = exports.IndexNameSchema = void 0;
4
+ exports.validateIndexName = validateIndexName;
5
+ exports.validateDocumentId = validateDocumentId;
6
+ exports.validatePagination = validatePagination;
7
+ exports.sanitizeQuery = sanitizeQuery;
8
+ exports.sanitizeScriptSource = sanitizeScriptSource;
9
+ const zod_1 = require("zod");
10
+ exports.IndexNameSchema = zod_1.z.string()
11
+ .min(1, 'Index name cannot be empty')
12
+ .max(255, 'Index name cannot exceed 255 characters')
13
+ .regex(/^[a-z0-9_.-]+$/, 'Index name must contain only lowercase letters, numbers, hyphens, underscores, and dots')
14
+ .refine(name => !name.startsWith('.') || name.startsWith('.'), 'Index name cannot start with a dot unless it is a system index')
15
+ .refine(name => name !== '.' && name !== '..', 'Index name cannot be "." or ".."');
16
+ // Index pattern schema that allows wildcards (*, ?, and comma-separated patterns)
17
+ exports.IndexPatternSchema = zod_1.z.string()
18
+ .min(1, 'Index pattern cannot be empty')
19
+ .max(255, 'Index pattern cannot exceed 255 characters')
20
+ .regex(/^[a-z0-9_.*?,\-]+$/, 'Index pattern must contain only lowercase letters, numbers, hyphens, underscores, dots, wildcards (*, ?), and commas');
21
+ exports.DocumentIdSchema = zod_1.z.string()
22
+ .min(1, 'Document ID cannot be empty')
23
+ .max(512, 'Document ID cannot exceed 512 characters');
24
+ exports.QuerySchema = zod_1.z.record(zod_1.z.unknown());
25
+ exports.SortSchema = zod_1.z.array(zod_1.z.record(zod_1.z.unknown()));
26
+ exports.AggregationsSchema = zod_1.z.record(zod_1.z.unknown());
27
+ exports.HighlightSchema = zod_1.z.record(zod_1.z.unknown());
28
+ exports.SourceSchema = zod_1.z.union([
29
+ zod_1.z.array(zod_1.z.string()),
30
+ zod_1.z.boolean(),
31
+ ]);
32
+ exports.PaginationSchema = zod_1.z.object({
33
+ size: zod_1.z.number().int().min(1).max(10000).optional(),
34
+ from: zod_1.z.number().int().min(0).optional(),
35
+ });
36
+ exports.RefreshSchema = zod_1.z.union([
37
+ zod_1.z.boolean(),
38
+ zod_1.z.literal('wait_for'),
39
+ zod_1.z.literal('false'),
40
+ zod_1.z.literal('true'),
41
+ ]).optional();
42
+ exports.SearchArgsSchema = zod_1.z.object({
43
+ index: exports.IndexNameSchema,
44
+ query: exports.QuerySchema.optional(),
45
+ size: zod_1.z.number().int().min(1).max(10000).optional(),
46
+ from: zod_1.z.number().int().min(0).optional(),
47
+ sort: exports.SortSchema.optional(),
48
+ aggregations: exports.AggregationsSchema.optional(),
49
+ highlight: exports.HighlightSchema.optional(),
50
+ source: exports.SourceSchema.optional(),
51
+ }).strict();
52
+ exports.FetchIndicesArgsSchema = zod_1.z.object({
53
+ pattern: zod_1.z.string().optional(),
54
+ includeSystemIndices: zod_1.z.boolean().optional(),
55
+ sortBy: zod_1.z.enum(['name', 'size', 'docs']).optional(),
56
+ }).strict();
57
+ exports.CreateIndexArgsSchema = zod_1.z.object({
58
+ name: exports.IndexNameSchema,
59
+ mappings: zod_1.z.record(zod_1.z.unknown()).optional(),
60
+ settings: zod_1.z.record(zod_1.z.unknown()).optional(),
61
+ aliases: zod_1.z.array(zod_1.z.string()).optional(),
62
+ }).strict();
63
+ exports.InsertDataArgsSchema = zod_1.z.object({
64
+ index: exports.IndexNameSchema,
65
+ document: zod_1.z.record(zod_1.z.unknown()),
66
+ id: exports.DocumentIdSchema.optional(),
67
+ refresh: exports.RefreshSchema.optional(),
68
+ }).strict();
69
+ exports.UpdateDocumentArgsSchema = zod_1.z.object({
70
+ index: exports.IndexNameSchema,
71
+ id: exports.DocumentIdSchema,
72
+ document: zod_1.z.record(zod_1.z.unknown()).optional(),
73
+ script: zod_1.z.object({
74
+ source: zod_1.z.string(),
75
+ params: zod_1.z.record(zod_1.z.unknown()).optional(),
76
+ }).optional(),
77
+ upsert: zod_1.z.boolean().optional(),
78
+ refresh: exports.RefreshSchema.optional(),
79
+ }).strict().refine(data => data.document || data.script, 'Either document or script must be provided');
80
+ exports.DeleteDocumentArgsSchema = zod_1.z.object({
81
+ index: exports.IndexNameSchema,
82
+ id: exports.DocumentIdSchema.optional(),
83
+ query: exports.QuerySchema.optional(),
84
+ conflicts: zod_1.z.enum(['abort', 'proceed']).optional(),
85
+ refresh: exports.RefreshSchema.optional(),
86
+ }).strict().refine(data => data.id || data.query, 'Either id or query must be provided');
87
+ exports.ExportToCSVArgsSchema = zod_1.z.object({
88
+ index: exports.IndexNameSchema,
89
+ query: exports.QuerySchema.optional(),
90
+ fields: zod_1.z.array(zod_1.z.string()).optional(),
91
+ filename: zod_1.z.string().optional(),
92
+ format: zod_1.z.object({
93
+ delimiter: zod_1.z.string().length(1).optional(),
94
+ quote: zod_1.z.string().length(1).optional(),
95
+ escape: zod_1.z.string().length(1).optional(),
96
+ header: zod_1.z.boolean().optional(),
97
+ }).optional(),
98
+ maxRows: zod_1.z.number().int().min(1).max(1000000).optional(),
99
+ compress: zod_1.z.boolean().optional(),
100
+ }).strict();
101
+ function validateIndexName(name) {
102
+ return exports.IndexNameSchema.parse(name);
103
+ }
104
+ function validateDocumentId(id) {
105
+ return exports.DocumentIdSchema.parse(id);
106
+ }
107
+ function validatePagination(params) {
108
+ const result = exports.PaginationSchema.parse(params);
109
+ return {
110
+ size: result.size,
111
+ from: result.from,
112
+ };
113
+ }
114
+ function sanitizeQuery(query) {
115
+ if (!query)
116
+ return undefined;
117
+ if (typeof query !== 'object' || Array.isArray(query)) {
118
+ throw new Error('Query must be an object');
119
+ }
120
+ const sanitized = { ...query };
121
+ const dangerousKeys = ['script', '_source', 'size', 'from'];
122
+ for (const key of dangerousKeys) {
123
+ if (key in sanitized && typeof sanitized[key] === 'string') {
124
+ const value = sanitized[key];
125
+ if (value.includes('System.') || value.includes('Runtime.') || value.includes('Process.')) {
126
+ throw new Error(`Potentially dangerous query detected in ${key}`);
127
+ }
128
+ }
129
+ }
130
+ return sanitized;
131
+ }
132
+ function sanitizeScriptSource(source) {
133
+ const dangerousPatterns = [
134
+ /System\./g,
135
+ /Runtime\./g,
136
+ /Process\./g,
137
+ /java\.lang/g,
138
+ /java\.io/g,
139
+ /java\.nio/g,
140
+ /exec\(/g,
141
+ /eval\(/g,
142
+ /Function\(/g,
143
+ ];
144
+ for (const pattern of dangerousPatterns) {
145
+ if (pattern.test(source)) {
146
+ throw new Error('Script contains potentially dangerous code');
147
+ }
148
+ }
149
+ return source;
150
+ }
151
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/validation/schemas.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "elasticsearch-mcp-vsee-stage",
3
+ "version": "0.5.13",
4
+ "description": "Secure MCP server for Elasticsearch integration with comprehensive tools and Elastic Cloud support (fork with improved health check, get_index_fields tool, enhanced query flexibility, and consolidated analytics tools)",
5
+ "main": "build/index.js",
6
+ "bin": {
7
+ "elasticsearch-mcp": "./build/index.js"
8
+ },
9
+ "scripts": {
10
+ "build": "tsc",
11
+ "dev": "tsx watch src/index.ts",
12
+ "start": "node build/index.js",
13
+ "test": "jest",
14
+ "test:watch": "jest --watch",
15
+ "test:coverage": "jest --coverage",
16
+ "test:tools": "node test-tools.js",
17
+ "lint": "eslint src/**/*.ts",
18
+ "lint:fix": "eslint src/**/*.ts --fix",
19
+ "format": "prettier --write src/**/*.ts",
20
+ "type-check": "tsc --noEmit",
21
+ "prepare": "husky install",
22
+ "prepublishOnly": "npm run build"
23
+ },
24
+ "keywords": [
25
+ "elasticsearch",
26
+ "mcp",
27
+ "model-context-protocol",
28
+ "elastic-cloud",
29
+ "search",
30
+ "analytics",
31
+ "claude",
32
+ "typescript",
33
+ "security"
34
+ ],
35
+ "author": "VSee",
36
+ "license": "MIT",
37
+ "engines": {
38
+ "node": ">=18.0.0"
39
+ },
40
+ "dependencies": {
41
+ "@modelcontextprotocol/sdk": "^1.0.0",
42
+ "@elastic/elasticsearch": "^8.11.0",
43
+ "zod": "^3.22.0"
44
+ },
45
+ "devDependencies": {
46
+ "@types/node": "^20.0.0",
47
+ "@types/jest": "^29.5.0",
48
+ "@typescript-eslint/eslint-plugin": "^6.0.0",
49
+ "@typescript-eslint/parser": "^6.0.0",
50
+ "eslint": "^8.0.0",
51
+ "eslint-config-prettier": "^9.0.0",
52
+ "eslint-plugin-prettier": "^5.0.0",
53
+ "husky": "^8.0.0",
54
+ "jest": "^29.5.0",
55
+ "prettier": "^3.0.0",
56
+ "ts-jest": "^29.1.0",
57
+ "tsx": "^4.0.0",
58
+ "typescript": "^5.0.0"
59
+ },
60
+ "files": [
61
+ "build/",
62
+ "README.md",
63
+ "LICENSE"
64
+ ]
65
+ }