@antonytm/mcp-sitecore-server 0.15.0 → 0.16.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/README.md +2 -0
- package/dist/bundle.js +123 -3
- package/dist/register.js +3 -0
- package/dist/register.js.map +1 -1
- package/dist/tools/powershell/composite/logging/get-logs.d.ts +3 -0
- package/dist/tools/powershell/composite/logging/get-logs.js +59 -0
- package/dist/tools/powershell/composite/logging/get-logs.js.map +1 -0
- package/dist/tools/powershell/composite/logging/utils.d.ts +13 -0
- package/dist/tools/powershell/composite/logging/utils.js +63 -0
- package/dist/tools/powershell/composite/logging/utils.js.map +1 -0
- package/dist/tools/powershell/simple/common/get-cache.js +1 -1
- package/dist/tools/powershell/simple/common/get-cache.js.map +1 -1
- package/dist/tools/powershell/simple/common/get-database.js +1 -1
- package/dist/tools/powershell/simple/common/get-database.js.map +1 -1
- package/dist/tools/powershell/simple/common/get-item-template-by-id.js +1 -1
- package/dist/tools/powershell/simple/common/get-item-template-by-id.js.map +1 -1
- package/dist/tools/powershell/simple/common/get-item-template-by-path.js +1 -1
- package/dist/tools/powershell/simple/common/get-item-template-by-path.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -94,6 +94,8 @@
|
|
|
94
94
|
- [x] `common-get-item-reference-by-path`: returns item references (where it is used) for a Sitecore item by path
|
|
95
95
|
- [x] `common-get-item-referrer-by-id`: returns items referring to a Sitecore item by ID (which items reference it)
|
|
96
96
|
- [x] `common-get-item-referrer-by-path`: returns items referring to a Sitecore item by path (which items reference it)
|
|
97
|
+
- [x] Logging
|
|
98
|
+
- [x] `logging-get-logs`: retrieves Sitecore logs from the log directory with filtering options
|
|
97
99
|
|
|
98
100
|
- [ ] Sitecore CLI
|
|
99
101
|
|
package/dist/bundle.js
CHANGED
|
@@ -22805,7 +22805,7 @@ function readDocType(xmlData, i){
|
|
|
22805
22805
|
const {index} = readNotationExp(xmlData,i+1);
|
|
22806
22806
|
i = index;
|
|
22807
22807
|
}else if( hasSeq(xmlData, "!--",i) ) comment = true;
|
|
22808
|
-
else throw new Error(
|
|
22808
|
+
else throw new Error(`Invalid DOCTYPE`);
|
|
22809
22809
|
|
|
22810
22810
|
angleBracketsCount++;
|
|
22811
22811
|
exp = "";
|
|
@@ -22978,8 +22978,8 @@ function readElementExp(xmlData, i) {
|
|
|
22978
22978
|
i = skipWhitespace(xmlData, i);
|
|
22979
22979
|
let contentModel = "";
|
|
22980
22980
|
// Expect '(' to start content model
|
|
22981
|
-
if(xmlData[i] === "E" && hasSeq(xmlData, "MPTY",i)) i+=
|
|
22982
|
-
else if(xmlData[i] === "A" && hasSeq(xmlData, "NY",i)) i+=
|
|
22981
|
+
if(xmlData[i] === "E" && hasSeq(xmlData, "MPTY",i)) i+=4;
|
|
22982
|
+
else if(xmlData[i] === "A" && hasSeq(xmlData, "NY",i)) i+=2;
|
|
22983
22983
|
else if (xmlData[i] === "(") {
|
|
22984
22984
|
i++; // Move past '('
|
|
22985
22985
|
|
|
@@ -25784,6 +25784,124 @@ function getItemReferrerByPathPowerShellTool(server, config) {
|
|
|
25784
25784
|
});
|
|
25785
25785
|
}
|
|
25786
25786
|
|
|
25787
|
+
var LogLevel;
|
|
25788
|
+
(function (LogLevel) {
|
|
25789
|
+
LogLevel["DEBUG"] = "DEBUG";
|
|
25790
|
+
LogLevel["INFO"] = "INFO";
|
|
25791
|
+
LogLevel["WARN"] = "WARN";
|
|
25792
|
+
LogLevel["ERROR"] = "ERROR";
|
|
25793
|
+
LogLevel["FATAL"] = "FATAL";
|
|
25794
|
+
})(LogLevel || (LogLevel = {}));
|
|
25795
|
+
function filterByLogLevel(logs, level) {
|
|
25796
|
+
const logsArray = (logs.Obj || []).map((log) => {
|
|
25797
|
+
return log.undefined;
|
|
25798
|
+
});
|
|
25799
|
+
const filteredLogs = logsArray.reduce((acc, log) => {
|
|
25800
|
+
// Skip empty lines
|
|
25801
|
+
if (log === undefined || log.trim() === "") {
|
|
25802
|
+
return acc;
|
|
25803
|
+
}
|
|
25804
|
+
const match1 = log.match(/^(ManagedPoolThread #\d+|[0-9]+) (\d{2} \w{3} \d{4} \d{2}:\d{2}:\d{2}) (\w+) (.*)$/);
|
|
25805
|
+
const match2 = log.match(/^(\d+|[0-9]+) (\d{2} \w{3} \d{4} \d{2}:\d{2}:\d{2}) (\w+) (.*)$/);
|
|
25806
|
+
if (!match1 && !match2) {
|
|
25807
|
+
// It is the line that continues the previous log entry
|
|
25808
|
+
if (acc.length > 0) {
|
|
25809
|
+
acc[acc.length - 1].message += ` \r\n${log.trim()}`;
|
|
25810
|
+
}
|
|
25811
|
+
}
|
|
25812
|
+
else {
|
|
25813
|
+
if (match1) {
|
|
25814
|
+
const [_, __, timestamp, level, message] = match1;
|
|
25815
|
+
acc.push({ timestamp, level: level, message });
|
|
25816
|
+
}
|
|
25817
|
+
else if (match2) {
|
|
25818
|
+
const [_, __, timestamp, level, message] = match2;
|
|
25819
|
+
acc.push({ timestamp, level: level, message });
|
|
25820
|
+
}
|
|
25821
|
+
}
|
|
25822
|
+
return acc;
|
|
25823
|
+
}, []);
|
|
25824
|
+
return filteredLogs.filter((log) => {
|
|
25825
|
+
switch (level) {
|
|
25826
|
+
case LogLevel.DEBUG:
|
|
25827
|
+
return log.level === LogLevel.DEBUG
|
|
25828
|
+
|| log.level === LogLevel.INFO
|
|
25829
|
+
|| log.level === LogLevel.WARN
|
|
25830
|
+
|| log.level === LogLevel.ERROR
|
|
25831
|
+
|| log.level === LogLevel.FATAL;
|
|
25832
|
+
case LogLevel.INFO:
|
|
25833
|
+
return log.level === LogLevel.INFO
|
|
25834
|
+
|| log.level === LogLevel.WARN
|
|
25835
|
+
|| log.level === LogLevel.ERROR
|
|
25836
|
+
|| log.level === LogLevel.FATAL;
|
|
25837
|
+
case LogLevel.WARN:
|
|
25838
|
+
return log.level === LogLevel.WARN
|
|
25839
|
+
|| log.level === LogLevel.ERROR
|
|
25840
|
+
|| log.level === LogLevel.FATAL;
|
|
25841
|
+
case LogLevel.ERROR:
|
|
25842
|
+
return log.level === LogLevel.ERROR
|
|
25843
|
+
|| log.level === LogLevel.FATAL;
|
|
25844
|
+
case LogLevel.FATAL:
|
|
25845
|
+
return log.level === LogLevel.FATAL;
|
|
25846
|
+
}
|
|
25847
|
+
});
|
|
25848
|
+
}
|
|
25849
|
+
|
|
25850
|
+
const logFilePrefixes = [
|
|
25851
|
+
"log",
|
|
25852
|
+
"Crawiling.log",
|
|
25853
|
+
"Search.log",
|
|
25854
|
+
"SPE.log",
|
|
25855
|
+
"Client.log",
|
|
25856
|
+
"OWin.log",
|
|
25857
|
+
"Publising.log",
|
|
25858
|
+
];
|
|
25859
|
+
function formatDate(date) {
|
|
25860
|
+
const d = date ? new Date(date) : new Date();
|
|
25861
|
+
let month = '' + (d.getMonth() + 1), day = '' + d.getDate(), year = d.getFullYear();
|
|
25862
|
+
if (month.length < 2) {
|
|
25863
|
+
month = '0' + month;
|
|
25864
|
+
}
|
|
25865
|
+
if (day.length < 2) {
|
|
25866
|
+
day = '0' + day;
|
|
25867
|
+
}
|
|
25868
|
+
return [year, month, day].join("");
|
|
25869
|
+
}
|
|
25870
|
+
function getLogsPowerShellTool(server, config) {
|
|
25871
|
+
server.tool(`logging-get-logs`, `Retrieves Sitecore logs from the log directory.`, {
|
|
25872
|
+
name: stringType()
|
|
25873
|
+
.default("log")
|
|
25874
|
+
.optional()
|
|
25875
|
+
.describe(`The name of the log file to retrieve. If not provided, defaults to log.*. Possible options: ${logFilePrefixes.join(", ")}.`),
|
|
25876
|
+
level: enumType(Object.values(LogLevel))
|
|
25877
|
+
.default(LogLevel.DEBUG)
|
|
25878
|
+
.optional(),
|
|
25879
|
+
date: stringType()
|
|
25880
|
+
.optional()
|
|
25881
|
+
.describe(`The date of the log file to retrieve. If not provided, defaults to today. Date format should be in ISO 8601 format (e.g., '2023-10-01T00:00:00Z'`),
|
|
25882
|
+
tail: numberType()
|
|
25883
|
+
.default(500)
|
|
25884
|
+
.optional()
|
|
25885
|
+
.describe("The number of lines to retrieve from the end of the log file. Defaults to 500."),
|
|
25886
|
+
}, async (params) => {
|
|
25887
|
+
const stringDate = formatDate(params.date);
|
|
25888
|
+
const command = `Get-ChildItem -Path $SitecoreDataFolder/logs/${params.name}*${stringDate}*.* | Sort LastWriteTime | Get-Content -Tail ${params.tail} `;
|
|
25889
|
+
return safeMcpResponse((async () => {
|
|
25890
|
+
const json = await runGenericPowershellCommand(config, command, {});
|
|
25891
|
+
const filteredLogs = filterByLogLevel(JSON.parse(json.content[0].text), LogLevel[params.level] || LogLevel.DEBUG);
|
|
25892
|
+
return {
|
|
25893
|
+
content: [
|
|
25894
|
+
{
|
|
25895
|
+
type: "text",
|
|
25896
|
+
text: JSON.stringify(filteredLogs, null, 2),
|
|
25897
|
+
},
|
|
25898
|
+
],
|
|
25899
|
+
isError: false,
|
|
25900
|
+
};
|
|
25901
|
+
})());
|
|
25902
|
+
});
|
|
25903
|
+
}
|
|
25904
|
+
|
|
25787
25905
|
async function register(array, server, config) {
|
|
25788
25906
|
for (const register of array) {
|
|
25789
25907
|
await register(server, config);
|
|
@@ -25855,6 +25973,8 @@ async function registerAll(server, config) {
|
|
|
25855
25973
|
getItemReferenceByPathPowerShellTool,
|
|
25856
25974
|
getItemReferrerByIdPowerShellTool,
|
|
25857
25975
|
getItemReferrerByPathPowerShellTool,
|
|
25976
|
+
//Logging
|
|
25977
|
+
getLogsPowerShellTool,
|
|
25858
25978
|
//Provider
|
|
25859
25979
|
getItemPowerShellTool,
|
|
25860
25980
|
//Indexing PowerShell Tools
|
package/dist/register.js
CHANGED
|
@@ -64,6 +64,7 @@ import { getItemReferenceByIdPowerShellTool } from "./tools/powershell/simple/co
|
|
|
64
64
|
import { getItemReferenceByPathPowerShellTool } from "./tools/powershell/simple/common/get-item-reference-by-path.js";
|
|
65
65
|
import { getItemReferrerByIdPowerShellTool } from "./tools/powershell/simple/common/get-item-referrer-by-id.js";
|
|
66
66
|
import { getItemReferrerByPathPowerShellTool } from "./tools/powershell/simple/common/get-item-referrer-by-path.js";
|
|
67
|
+
import { getLogsPowerShellTool } from "./tools/powershell/composite/logging/get-logs.js";
|
|
67
68
|
export async function register(array, server, config) {
|
|
68
69
|
for (const register of array) {
|
|
69
70
|
await register(server, config);
|
|
@@ -135,6 +136,8 @@ export async function registerAll(server, config) {
|
|
|
135
136
|
getItemReferenceByPathPowerShellTool,
|
|
136
137
|
getItemReferrerByIdPowerShellTool,
|
|
137
138
|
getItemReferrerByPathPowerShellTool,
|
|
139
|
+
//Logging
|
|
140
|
+
getLogsPowerShellTool,
|
|
138
141
|
//Provider
|
|
139
142
|
getItemPowerShellTool,
|
|
140
143
|
//Indexing PowerShell Tools
|
package/dist/register.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { safeMcpResponse } from "../../../../helper.js";
|
|
3
|
+
import { runGenericPowershellCommand } from "../../simple/generic.js";
|
|
4
|
+
import { filterByLogLevel, LogLevel } from "./utils.js";
|
|
5
|
+
const logFilePrefixes = [
|
|
6
|
+
"log",
|
|
7
|
+
"Crawiling.log",
|
|
8
|
+
"Search.log",
|
|
9
|
+
"SPE.log",
|
|
10
|
+
"Client.log",
|
|
11
|
+
"OWin.log",
|
|
12
|
+
"Publising.log",
|
|
13
|
+
];
|
|
14
|
+
function formatDate(date) {
|
|
15
|
+
const d = date ? new Date(date) : new Date();
|
|
16
|
+
let month = '' + (d.getMonth() + 1), day = '' + d.getDate(), year = d.getFullYear();
|
|
17
|
+
if (month.length < 2) {
|
|
18
|
+
month = '0' + month;
|
|
19
|
+
}
|
|
20
|
+
if (day.length < 2) {
|
|
21
|
+
day = '0' + day;
|
|
22
|
+
}
|
|
23
|
+
return [year, month, day].join("");
|
|
24
|
+
}
|
|
25
|
+
export function getLogsPowerShellTool(server, config) {
|
|
26
|
+
server.tool(`logging-get-logs`, `Retrieves Sitecore logs from the log directory.`, {
|
|
27
|
+
name: z.string()
|
|
28
|
+
.default("log")
|
|
29
|
+
.optional()
|
|
30
|
+
.describe(`The name of the log file to retrieve. If not provided, defaults to log.*. Possible options: ${logFilePrefixes.join(", ")}.`),
|
|
31
|
+
level: z.enum(Object.values(LogLevel))
|
|
32
|
+
.default(LogLevel.DEBUG)
|
|
33
|
+
.optional(),
|
|
34
|
+
date: z.string()
|
|
35
|
+
.optional()
|
|
36
|
+
.describe(`The date of the log file to retrieve. If not provided, defaults to today. Date format should be in ISO 8601 format (e.g., '2023-10-01T00:00:00Z'`),
|
|
37
|
+
tail: z.number()
|
|
38
|
+
.default(500)
|
|
39
|
+
.optional()
|
|
40
|
+
.describe("The number of lines to retrieve from the end of the log file. Defaults to 500."),
|
|
41
|
+
}, async (params) => {
|
|
42
|
+
const stringDate = formatDate(params.date);
|
|
43
|
+
const command = `Get-ChildItem -Path $SitecoreDataFolder/logs/${params.name}*${stringDate}*.* | Sort LastWriteTime | Get-Content -Tail ${params.tail} `;
|
|
44
|
+
return safeMcpResponse((async () => {
|
|
45
|
+
const json = await runGenericPowershellCommand(config, command, {});
|
|
46
|
+
const filteredLogs = filterByLogLevel(JSON.parse(json.content[0].text), LogLevel[params.level] || LogLevel.DEBUG);
|
|
47
|
+
return {
|
|
48
|
+
content: [
|
|
49
|
+
{
|
|
50
|
+
type: "text",
|
|
51
|
+
text: JSON.stringify(filteredLogs, null, 2),
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
isError: false,
|
|
55
|
+
};
|
|
56
|
+
})());
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=get-logs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-logs.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/composite/logging/get-logs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,eAAe,GACjB;IACI,KAAK;IACL,eAAe;IACf,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,UAAU;IACV,eAAe;CAClB,CAAC;AAEN,SAAS,UAAU,CAAC,IAAa;IAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7C,IAAI,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAC/B,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EACtB,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAE3B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjB,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,MAAc;IACnE,MAAM,CAAC,IAAI,CACP,kBAAkB,EAClB,iDAAiD,EACjD;QACI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACX,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,EAAE;aACV,QAAQ,CAAC,+FAA+F,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3I,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAA0B,CAAC;aAC1D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;aACvB,QAAQ,EAAE;QACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACX,QAAQ,EAAE;aACV,QAAQ,CAAC,kJAAkJ,CAAC;QACjK,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACX,OAAO,CAAC,GAAG,CAAC;aACZ,QAAQ,EAAE;aACV,QAAQ,CAAC,gFAAgF,CAAC;KAClG,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,gDAAgD,MAAM,CAAC,IAAI,IAAI,UAAU,gDAAgD,MAAM,CAAC,IAAI,GAAG,CAAC;QAExJ,OAAO,eAAe,CAAC,CAAC,KAAK,IAAI,EAAE;YAC/B,MAAM,IAAI,GAAG,MAAM,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAEpE,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAc,CAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,KAA8B,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE5J,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC9C;iBACJ;gBACD,OAAO,EAAE,KAAK;aACjB,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,CAAC,CACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare enum LogLevel {
|
|
2
|
+
DEBUG = "DEBUG",
|
|
3
|
+
INFO = "INFO",
|
|
4
|
+
WARN = "WARN",
|
|
5
|
+
ERROR = "ERROR",
|
|
6
|
+
FATAL = "FATAL"
|
|
7
|
+
}
|
|
8
|
+
export interface LogEntry {
|
|
9
|
+
level: LogLevel;
|
|
10
|
+
message: string;
|
|
11
|
+
timestamp: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function filterByLogLevel(logs: any, level: LogLevel): LogEntry[];
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export var LogLevel;
|
|
2
|
+
(function (LogLevel) {
|
|
3
|
+
LogLevel["DEBUG"] = "DEBUG";
|
|
4
|
+
LogLevel["INFO"] = "INFO";
|
|
5
|
+
LogLevel["WARN"] = "WARN";
|
|
6
|
+
LogLevel["ERROR"] = "ERROR";
|
|
7
|
+
LogLevel["FATAL"] = "FATAL";
|
|
8
|
+
})(LogLevel || (LogLevel = {}));
|
|
9
|
+
export function filterByLogLevel(logs, level) {
|
|
10
|
+
const logsArray = (logs.Obj || []).map((log) => {
|
|
11
|
+
return log.undefined;
|
|
12
|
+
});
|
|
13
|
+
const filteredLogs = logsArray.reduce((acc, log) => {
|
|
14
|
+
// Skip empty lines
|
|
15
|
+
if (log === undefined || log.trim() === "") {
|
|
16
|
+
return acc;
|
|
17
|
+
}
|
|
18
|
+
const match1 = log.match(/^(ManagedPoolThread #\d+|[0-9]+) (\d{2} \w{3} \d{4} \d{2}:\d{2}:\d{2}) (\w+) (.*)$/);
|
|
19
|
+
const match2 = log.match(/^(\d+|[0-9]+) (\d{2} \w{3} \d{4} \d{2}:\d{2}:\d{2}) (\w+) (.*)$/);
|
|
20
|
+
if (!match1 && !match2) {
|
|
21
|
+
// It is the line that continues the previous log entry
|
|
22
|
+
if (acc.length > 0) {
|
|
23
|
+
acc[acc.length - 1].message += ` \r\n${log.trim()}`;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
if (match1) {
|
|
28
|
+
const [_, __, timestamp, level, message] = match1;
|
|
29
|
+
acc.push({ timestamp, level: level, message });
|
|
30
|
+
}
|
|
31
|
+
else if (match2) {
|
|
32
|
+
const [_, __, timestamp, level, message] = match2;
|
|
33
|
+
acc.push({ timestamp, level: level, message });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return acc;
|
|
37
|
+
}, []);
|
|
38
|
+
return filteredLogs.filter((log) => {
|
|
39
|
+
switch (level) {
|
|
40
|
+
case LogLevel.DEBUG:
|
|
41
|
+
return log.level === LogLevel.DEBUG
|
|
42
|
+
|| log.level === LogLevel.INFO
|
|
43
|
+
|| log.level === LogLevel.WARN
|
|
44
|
+
|| log.level === LogLevel.ERROR
|
|
45
|
+
|| log.level === LogLevel.FATAL;
|
|
46
|
+
case LogLevel.INFO:
|
|
47
|
+
return log.level === LogLevel.INFO
|
|
48
|
+
|| log.level === LogLevel.WARN
|
|
49
|
+
|| log.level === LogLevel.ERROR
|
|
50
|
+
|| log.level === LogLevel.FATAL;
|
|
51
|
+
case LogLevel.WARN:
|
|
52
|
+
return log.level === LogLevel.WARN
|
|
53
|
+
|| log.level === LogLevel.ERROR
|
|
54
|
+
|| log.level === LogLevel.FATAL;
|
|
55
|
+
case LogLevel.ERROR:
|
|
56
|
+
return log.level === LogLevel.ERROR
|
|
57
|
+
|| log.level === LogLevel.FATAL;
|
|
58
|
+
case LogLevel.FATAL:
|
|
59
|
+
return log.level === LogLevel.FATAL;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/composite/logging/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { safeMcpResponse } from "../../../../helper.js";
|
|
3
|
-
import { runGenericPowershellCommand } from "../generic";
|
|
3
|
+
import { runGenericPowershellCommand } from "../generic.js";
|
|
4
4
|
export function getCachePowerShellTool(server, config) {
|
|
5
5
|
server.tool("common-get-cache", "Gets information about Sitecore caches.", {
|
|
6
6
|
name: z.string().optional()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-cache.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/simple/common/get-cache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"get-cache.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/simple/common/get-cache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,MAAc;IACpE,MAAM,CAAC,IAAI,CACP,kBAAkB,EAClB,yCAAyC,EACzC;QACI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aACtB,QAAQ,CAAC,2GAA2G,CAAC;QAC1H,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC1B,QAAQ,CAAC,gDAAgD,CAAC;KAClE,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,WAAW,CAAC;QAE5B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC1C,CAAC;QAED,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAClF,CAAC,CACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { safeMcpResponse } from "../../../../helper.js";
|
|
3
|
-
import { runGenericPowershellCommand } from "../generic";
|
|
3
|
+
import { runGenericPowershellCommand } from "../generic.js";
|
|
4
4
|
export function getDatabasePowerShellTool(server, config) {
|
|
5
5
|
server.tool("common-get-database", "Gets information about Sitecore databases.", {
|
|
6
6
|
name: z.string().optional()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-database.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/simple/common/get-database.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"get-database.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/simple/common/get-database.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,UAAU,yBAAyB,CAAC,MAAiB,EAAE,MAAc;IACvE,MAAM,CAAC,IAAI,CACP,qBAAqB,EACrB,4CAA4C,EAC5C;QACI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aACtB,QAAQ,CAAC,uHAAuH,CAAC;KACzI,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,cAAc,CAAC;QAE/B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QAClC,CAAC;QAED,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAClF,CAAC,CACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { safeMcpResponse } from "../../../../helper.js";
|
|
3
|
-
import { runGenericPowershellCommand } from "../generic";
|
|
3
|
+
import { runGenericPowershellCommand } from "../generic.js";
|
|
4
4
|
export function getItemTemplateByIdPowerShellTool(server, config) {
|
|
5
5
|
server.tool("common-get-item-template-by-id", "Gets template information for a Sitecore item by its ID.", {
|
|
6
6
|
id: z.string()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-item-template-by-id.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/simple/common/get-item-template-by-id.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"get-item-template-by-id.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/simple/common/get-item-template-by-id.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,UAAU,iCAAiC,CAAC,MAAiB,EAAE,MAAc;IAC/E,MAAM,CAAC,IAAI,CACP,gCAAgC,EAChC,0DAA0D,EAC1D;QACI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;aACT,QAAQ,CAAC,0DAA0D,CAAC;QACzE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC1B,QAAQ,CAAC,sEAAsE,CAAC;KACxF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,OAAO,GAAwB;YACjC,IAAI,EAAE,MAAM,CAAC,EAAE;SAClB,CAAC;QACF,MAAM,OAAO,GAAG,kBAAkB,CAAC;QAEnC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC1C,CAAC;QAED,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAClF,CAAC,CACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { safeMcpResponse } from "../../../../helper.js";
|
|
3
|
-
import { runGenericPowershellCommand } from "../generic";
|
|
3
|
+
import { runGenericPowershellCommand } from "../generic.js";
|
|
4
4
|
export function getItemTemplateByPathPowerShellTool(server, config) {
|
|
5
5
|
server.tool("common-get-item-template-by-path", "Gets template information for a Sitecore item by its path.", {
|
|
6
6
|
path: z.string()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-item-template-by-path.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/simple/common/get-item-template-by-path.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"get-item-template-by-path.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/simple/common/get-item-template-by-path.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,UAAU,mCAAmC,CAAC,MAAiB,EAAE,MAAc;IACjF,MAAM,CAAC,IAAI,CACP,kCAAkC,EAClC,4DAA4D,EAC5D;QACI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACX,QAAQ,CAAC,0FAA0F,CAAC;QACzG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC1B,QAAQ,CAAC,sEAAsE,CAAC;KACxF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,OAAO,GAAwB;YACjC,MAAM,EAAE,MAAM,CAAC,IAAI;SACtB,CAAC;QACF,MAAM,OAAO,GAAG,kBAAkB,CAAC;QAEnC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC1C,CAAC;QAED,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAClF,CAAC,CACJ,CAAC;AACN,CAAC"}
|