elasticsearch-mcp-vsee 0.5.10 → 0.5.12
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/build/server.js +2 -2
- package/build/tools/top-change.d.ts.map +1 -1
- package/build/tools/top-change.js +30 -46
- package/build/tools/top-change.js.map +1 -1
- package/build/utils/date-math.d.ts +9 -3
- package/build/utils/date-math.d.ts.map +1 -1
- package/build/utils/date-math.js +63 -15
- package/build/utils/date-math.js.map +1 -1
- package/package.json +1 -1
package/build/server.js
CHANGED
|
@@ -107,11 +107,11 @@ class ElasticMCPServer {
|
|
|
107
107
|
},
|
|
108
108
|
startDate: {
|
|
109
109
|
type: 'string',
|
|
110
|
-
description: 'Start date for current period in
|
|
110
|
+
description: 'Start date for current period in date math (e.g., "now-30d", "now-1y") or ISO format (YYYY-MM-DD). Defaults to "now-30d"',
|
|
111
111
|
},
|
|
112
112
|
endDate: {
|
|
113
113
|
type: 'string',
|
|
114
|
-
description: 'End date for current period in
|
|
114
|
+
description: 'End date for current period in date math (e.g., "now") or ISO format (YYYY-MM-DD). Defaults to "now"',
|
|
115
115
|
},
|
|
116
116
|
subscription: {
|
|
117
117
|
type: 'string',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"top-change.d.ts","sourceRoot":"","sources":["../../src/tools/top-change.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAetC,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC;IAC7B,SAAS,EAAE,UAAU,GAAG,UAAU,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;CAClE;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC;IAC7B,SAAS,EAAE,UAAU,GAAG,UAAU,CAAC;IACnC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,MAAM,CAAS;gBAEX,aAAa,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM;IAKzD,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"top-change.d.ts","sourceRoot":"","sources":["../../src/tools/top-change.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAetC,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC;IAC7B,SAAS,EAAE,UAAU,GAAG,UAAU,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;CAClE;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC;IAC7B,SAAS,EAAE,UAAU,GAAG,UAAU,CAAC;IACnC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,MAAM,CAAS;gBAEX,aAAa,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM;IAKzD,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;CA2OvD"}
|
|
@@ -36,46 +36,30 @@ class TopChangeTool {
|
|
|
36
36
|
//);
|
|
37
37
|
//currentPeriodStart = cappedCurrentStart;
|
|
38
38
|
//currentPeriodEnd = cappedCurrentEnd;
|
|
39
|
-
// Calculate
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
//
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
//
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const unit = match[2];
|
|
55
|
-
const newValue = currentValue + periodDuration;
|
|
56
|
-
previousPeriodStart = `now-${newValue}${unit}`;
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
// Fallback: use days
|
|
60
|
-
const newValue = startDays + periodDuration;
|
|
61
|
-
previousPeriodStart = `now-${newValue}d`;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
// For ISO dates, we'd need a date library to properly subtract days
|
|
66
|
-
// For now, use date math as fallback
|
|
67
|
-
const newValue = startDays + periodDuration;
|
|
68
|
-
previousPeriodStart = `now-${newValue}d`;
|
|
69
|
-
}
|
|
39
|
+
// Calculate absolute dates for the current period
|
|
40
|
+
const currentStart = (0, date_math_js_1.resolveDate)(currentPeriodStart);
|
|
41
|
+
const currentEnd = (0, date_math_js_1.resolveDate)(currentPeriodEnd);
|
|
42
|
+
// Calculate duration in milliseconds
|
|
43
|
+
const durationMs = currentEnd.getTime() - currentStart.getTime();
|
|
44
|
+
// Calculate previous period: strictly distinct, immediately preceding current period
|
|
45
|
+
// Previous End = Current Start
|
|
46
|
+
const previousEnd = new Date(currentStart.getTime());
|
|
47
|
+
// Previous Start = Previous End - Duration
|
|
48
|
+
const previousStart = new Date(previousEnd.getTime() - durationMs);
|
|
49
|
+
// Format as ISO strings for Elasticsearch
|
|
50
|
+
const currentPeriodStartIso = currentStart.toISOString();
|
|
51
|
+
const currentPeriodEndIso = currentEnd.toISOString();
|
|
52
|
+
const previousPeriodStartIso = previousStart.toISOString();
|
|
53
|
+
const previousPeriodEndIso = previousEnd.toISOString();
|
|
70
54
|
this.logger.info('Getting top items by visit change', {
|
|
71
55
|
groupBy: validatedArgs.groupBy,
|
|
72
56
|
direction: validatedArgs.direction,
|
|
73
57
|
topN,
|
|
74
|
-
currentPeriodStart,
|
|
75
|
-
currentPeriodEnd,
|
|
76
|
-
previousPeriodStart,
|
|
77
|
-
previousPeriodEnd,
|
|
78
|
-
|
|
58
|
+
currentPeriodStart: currentPeriodStartIso,
|
|
59
|
+
currentPeriodEnd: currentPeriodEndIso,
|
|
60
|
+
previousPeriodStart: previousPeriodStartIso,
|
|
61
|
+
previousPeriodEnd: previousPeriodEndIso,
|
|
62
|
+
durationMs,
|
|
79
63
|
subscription: validatedArgs.subscription,
|
|
80
64
|
});
|
|
81
65
|
const client = this.elasticsearch.getClient();
|
|
@@ -91,8 +75,8 @@ class TopChangeTool {
|
|
|
91
75
|
{
|
|
92
76
|
range: {
|
|
93
77
|
[timeField]: {
|
|
94
|
-
gte:
|
|
95
|
-
lt:
|
|
78
|
+
gte: previousPeriodStartIso,
|
|
79
|
+
lt: currentPeriodEndIso,
|
|
96
80
|
},
|
|
97
81
|
},
|
|
98
82
|
},
|
|
@@ -145,8 +129,8 @@ class TopChangeTool {
|
|
|
145
129
|
filter: {
|
|
146
130
|
range: {
|
|
147
131
|
[timeField]: {
|
|
148
|
-
gte:
|
|
149
|
-
lt:
|
|
132
|
+
gte: currentPeriodStartIso,
|
|
133
|
+
lt: currentPeriodEndIso,
|
|
150
134
|
},
|
|
151
135
|
},
|
|
152
136
|
},
|
|
@@ -155,8 +139,8 @@ class TopChangeTool {
|
|
|
155
139
|
filter: {
|
|
156
140
|
range: {
|
|
157
141
|
[timeField]: {
|
|
158
|
-
gte:
|
|
159
|
-
lt:
|
|
142
|
+
gte: previousPeriodStartIso,
|
|
143
|
+
lt: previousPeriodEndIso,
|
|
160
144
|
},
|
|
161
145
|
},
|
|
162
146
|
},
|
|
@@ -218,10 +202,10 @@ class TopChangeTool {
|
|
|
218
202
|
count: items.length,
|
|
219
203
|
});
|
|
220
204
|
return {
|
|
221
|
-
currentPeriodStart,
|
|
222
|
-
currentPeriodEnd,
|
|
223
|
-
previousPeriodStart,
|
|
224
|
-
previousPeriodEnd,
|
|
205
|
+
currentPeriodStart: currentPeriodStartIso,
|
|
206
|
+
currentPeriodEnd: currentPeriodEndIso,
|
|
207
|
+
previousPeriodStart: previousPeriodStartIso,
|
|
208
|
+
previousPeriodEnd: previousPeriodEndIso,
|
|
225
209
|
groupBy: validatedArgs.groupBy,
|
|
226
210
|
direction: validatedArgs.direction,
|
|
227
211
|
items,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"top-change.js","sourceRoot":"","sources":["../../src/tools/top-change.ts"],"names":[],"mappings":";;;AAEA,6BAAwB;AACxB,uDAA4E;AAC5E,oEAA8D;AAC9D,
|
|
1
|
+
{"version":3,"file":"top-change.js","sourceRoot":"","sources":["../../src/tools/top-change.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,15 @@
|
|
|
2
2
|
* Utilities for parsing and working with Elasticsearch date math expressions
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
* @param dateStr - Date string (e.g., "now", "now-30d", "
|
|
7
|
-
* @returns
|
|
5
|
+
* Resolve a date string (ISO or relative math) to a Javascript Date object
|
|
6
|
+
* @param dateStr - Date string (e.g., "now", "now-30d", "2023-01-01")
|
|
7
|
+
* @returns Date object
|
|
8
|
+
* @throws Error if date format is invalid
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveDate(dateStr: string): Date;
|
|
11
|
+
/**
|
|
12
|
+
* Legacy wrapper for backward compatibility, though discouraged.
|
|
13
|
+
* returns number of days relative to now.
|
|
8
14
|
*/
|
|
9
15
|
export declare function parseDateMath(dateStr: string): number;
|
|
10
16
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-math.d.ts","sourceRoot":"","sources":["../../src/utils/date-math.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH
|
|
1
|
+
{"version":3,"file":"date-math.d.ts","sourceRoot":"","sources":["../../src/utils/date-math.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CA8CjD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAsBrD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE;IAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAA;CAAE,GACrD;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAkB9D"}
|
package/build/utils/date-math.js
CHANGED
|
@@ -3,21 +3,73 @@
|
|
|
3
3
|
* Utilities for parsing and working with Elasticsearch date math expressions
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.resolveDate = resolveDate;
|
|
6
7
|
exports.parseDateMath = parseDateMath;
|
|
7
8
|
exports.capTimePeriod = capTimePeriod;
|
|
8
9
|
/**
|
|
9
|
-
*
|
|
10
|
-
* @param dateStr - Date string (e.g., "now", "now-30d", "
|
|
11
|
-
* @returns
|
|
10
|
+
* Resolve a date string (ISO or relative math) to a Javascript Date object
|
|
11
|
+
* @param dateStr - Date string (e.g., "now", "now-30d", "2023-01-01")
|
|
12
|
+
* @returns Date object
|
|
13
|
+
* @throws Error if date format is invalid
|
|
12
14
|
*/
|
|
13
|
-
function
|
|
15
|
+
function resolveDate(dateStr) {
|
|
16
|
+
// Handle "now"
|
|
14
17
|
if (dateStr === 'now') {
|
|
15
|
-
return
|
|
18
|
+
return new Date();
|
|
16
19
|
}
|
|
20
|
+
// Handle relative math "now-..."
|
|
17
21
|
if (dateStr.startsWith('now-')) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
const match = dateStr.match(/now-(\d+)([dwMy]|\+)?/);
|
|
23
|
+
if (!match) {
|
|
24
|
+
throw new Error(`Invalid relative date format: ${dateStr}`);
|
|
25
|
+
}
|
|
26
|
+
const value = parseInt(match[1], 10);
|
|
27
|
+
const unit = match[2];
|
|
28
|
+
const now = new Date();
|
|
29
|
+
switch (unit) {
|
|
30
|
+
case 'd':
|
|
31
|
+
case 'D':
|
|
32
|
+
now.setDate(now.getDate() - value);
|
|
33
|
+
break;
|
|
34
|
+
case 'w':
|
|
35
|
+
case 'W':
|
|
36
|
+
now.setDate(now.getDate() - (value * 7));
|
|
37
|
+
break;
|
|
38
|
+
case 'M':
|
|
39
|
+
now.setMonth(now.getMonth() - value);
|
|
40
|
+
break;
|
|
41
|
+
case 'y':
|
|
42
|
+
case 'Y':
|
|
43
|
+
now.setFullYear(now.getFullYear() - value);
|
|
44
|
+
break;
|
|
45
|
+
default:
|
|
46
|
+
// Default to days if unit is missing or unknown (safe fallback for simple cases)
|
|
47
|
+
now.setDate(now.getDate() - value);
|
|
48
|
+
}
|
|
49
|
+
return now;
|
|
50
|
+
}
|
|
51
|
+
// Handle ISO strings
|
|
52
|
+
const parsed = new Date(dateStr);
|
|
53
|
+
if (isNaN(parsed.getTime())) {
|
|
54
|
+
throw new Error(`Invalid date format: ${dateStr}`);
|
|
55
|
+
}
|
|
56
|
+
return parsed;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Legacy wrapper for backward compatibility, though discouraged.
|
|
60
|
+
* returns number of days relative to now.
|
|
61
|
+
*/
|
|
62
|
+
function parseDateMath(dateStr) {
|
|
63
|
+
if (dateStr === 'now')
|
|
64
|
+
return 0;
|
|
65
|
+
try {
|
|
66
|
+
const date = resolveDate(dateStr);
|
|
67
|
+
const now = new Date();
|
|
68
|
+
const diffTime = Math.abs(now.getTime() - date.getTime());
|
|
69
|
+
return Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
|
70
|
+
}
|
|
71
|
+
catch (e) {
|
|
72
|
+
// Fallback for very simple day parsing if resolveDate fails or strictly for "now-Nd" extraction
|
|
21
73
|
const match = dateStr.match(/now-(\d+)([dwMy])/);
|
|
22
74
|
if (match) {
|
|
23
75
|
const value = parseInt(match[1], 10);
|
|
@@ -27,17 +79,13 @@ function parseDateMath(dateStr) {
|
|
|
27
79
|
if (unit === 'w' || unit === 'W')
|
|
28
80
|
return value * 7;
|
|
29
81
|
if (unit === 'M')
|
|
30
|
-
return value * 30;
|
|
82
|
+
return value * 30;
|
|
31
83
|
if (unit === 'y' || unit === 'Y')
|
|
32
84
|
return value * 365;
|
|
33
|
-
|
|
34
|
-
if (unit === 'm')
|
|
35
|
-
return 0;
|
|
85
|
+
return 0;
|
|
36
86
|
}
|
|
87
|
+
return 30;
|
|
37
88
|
}
|
|
38
|
-
// For ISO dates or other formats, assume it's within the last 30 days
|
|
39
|
-
// This is a rough approximation - actual parsing would require date library
|
|
40
|
-
return 30;
|
|
41
89
|
}
|
|
42
90
|
/**
|
|
43
91
|
* Cap a time period to a maximum number of days
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-math.js","sourceRoot":"","sources":["../../src/utils/date-math.ts"],"names":[],"mappings":";AAAA;;GAEG;;
|
|
1
|
+
{"version":3,"file":"date-math.js","sourceRoot":"","sources":["../../src/utils/date-math.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "elasticsearch-mcp-vsee",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.12",
|
|
4
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
5
|
"main": "build/index.js",
|
|
6
6
|
"bin": {
|