@antonytm/mcp-sitecore-server 0.11.0 → 0.12.1
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 +3 -1
- package/dist/bundle.js +225 -131
- package/dist/register.js +49 -30
- package/dist/register.js.map +1 -1
- package/dist/tools/item-service/{composite → logic/composite}/get-item-descendants.d.ts +1 -1
- package/dist/tools/item-service/{composite → logic/composite}/get-item-descendants.js +2 -2
- package/dist/tools/item-service/logic/composite/get-item-descendants.js.map +1 -0
- package/dist/tools/item-service/{composite → logic/composite}/get-languages.d.ts +1 -1
- package/dist/tools/item-service/{composite → logic/composite}/get-languages.js +2 -2
- package/dist/tools/item-service/logic/composite/get-languages.js.map +1 -0
- package/dist/tools/item-service/{simple → logic/simple}/create-item.d.ts +1 -1
- package/dist/tools/item-service/{simple → logic/simple}/create-item.js +2 -2
- package/dist/tools/item-service/logic/simple/create-item.js.map +1 -0
- package/dist/tools/item-service/{simple → logic/simple}/delete-item.d.ts +1 -1
- package/dist/tools/item-service/{simple → logic/simple}/delete-item.js +2 -2
- package/dist/tools/item-service/logic/simple/delete-item.js.map +1 -0
- package/dist/tools/item-service/{simple → logic/simple}/edit-item.js +1 -1
- package/dist/tools/item-service/logic/simple/edit-item.js.map +1 -0
- package/dist/tools/item-service/{simple → logic/simple}/get-item-by-path.d.ts +1 -1
- package/dist/tools/item-service/{simple → logic/simple}/get-item-by-path.js +2 -2
- package/dist/tools/item-service/logic/simple/get-item-by-path.js.map +1 -0
- package/dist/tools/item-service/{simple → logic/simple}/get-item-children.d.ts +1 -1
- package/dist/tools/item-service/{simple → logic/simple}/get-item-children.js +2 -2
- package/dist/tools/item-service/logic/simple/get-item-children.js.map +1 -0
- package/dist/tools/item-service/{simple → logic/simple}/get-item.d.ts +1 -1
- package/dist/tools/item-service/{simple → logic/simple}/get-item.js +2 -2
- package/dist/tools/item-service/logic/simple/get-item.js.map +1 -0
- package/dist/tools/item-service/{simple → logic/simple}/run-stored-query.d.ts +1 -1
- package/dist/tools/item-service/{simple → logic/simple}/run-stored-query.js +2 -2
- package/dist/tools/item-service/logic/simple/run-stored-query.js.map +1 -0
- package/dist/tools/item-service/{simple → logic/simple}/run-stored-search.d.ts +1 -1
- package/dist/tools/item-service/{simple → logic/simple}/run-stored-search.js +2 -2
- package/dist/tools/item-service/logic/simple/run-stored-search.js.map +1 -0
- package/dist/tools/item-service/{simple → logic/simple}/search-items.d.ts +1 -1
- package/dist/tools/item-service/{simple → logic/simple}/search-items.js +2 -2
- package/dist/tools/item-service/logic/simple/search-items.js.map +1 -0
- package/dist/tools/item-service/{tool-registrations/composite/get-item-descendants.registration.js → tools/composite/get-item-descendants.js} +2 -2
- package/dist/tools/item-service/tools/composite/get-item-descendants.js.map +1 -0
- package/dist/tools/item-service/{tool-registrations/composite/get-languages.registration.js → tools/composite/get-languages.js} +2 -2
- package/dist/tools/item-service/tools/composite/get-languages.js.map +1 -0
- package/dist/tools/item-service/{tool-registrations/simple/create-item.registration.js → tools/simple/create-item.js} +2 -2
- package/dist/tools/item-service/tools/simple/create-item.js.map +1 -0
- package/dist/tools/item-service/{tool-registrations/simple/delete-item.registration.js → tools/simple/delete-item.js} +2 -2
- package/dist/tools/item-service/tools/simple/delete-item.js.map +1 -0
- package/dist/tools/item-service/{tool-registrations/simple/edit-item.registration.js → tools/simple/edit-item.js} +2 -2
- package/dist/tools/item-service/tools/simple/edit-item.js.map +1 -0
- package/dist/tools/item-service/{tool-registrations/simple/get-item-by-path.registration.js → tools/simple/get-item-by-path.js} +2 -2
- package/dist/tools/item-service/tools/simple/get-item-by-path.js.map +1 -0
- package/dist/tools/item-service/{tool-registrations/simple/get-item-children.registration.js → tools/simple/get-item-children.js} +2 -2
- package/dist/tools/item-service/tools/simple/get-item-children.js.map +1 -0
- package/dist/tools/item-service/{tool-registrations/simple/get-item.registration.js → tools/simple/get-item.js} +2 -2
- package/dist/tools/item-service/tools/simple/get-item.js.map +1 -0
- package/dist/tools/item-service/{tool-registrations/simple/run-stored-query.registration.js → tools/simple/run-stored-query.js} +2 -2
- package/dist/tools/item-service/tools/simple/run-stored-query.js.map +1 -0
- package/dist/tools/item-service/{tool-registrations/simple/run-stored-search.registration.js → tools/simple/run-stored-search.js} +2 -2
- package/dist/tools/item-service/tools/simple/run-stored-search.js.map +1 -0
- package/dist/tools/item-service/{tool-registrations/simple/search-items.registration.js → tools/simple/search-items.js} +2 -2
- package/dist/tools/item-service/tools/simple/search-items.js.map +1 -0
- package/dist/tools/powershell/simple/indexing/find-item.js +26 -1
- package/dist/tools/powershell/simple/indexing/find-item.js.map +1 -1
- package/dist/tools/powershell/simple/indexing/resume-search-index.d.ts +3 -0
- package/dist/tools/powershell/simple/indexing/resume-search-index.js +16 -0
- package/dist/tools/powershell/simple/indexing/resume-search-index.js.map +1 -0
- package/dist/tools/powershell/simple/{security/lock-item.d.ts → indexing/stop-search-index.d.ts} +1 -1
- package/dist/tools/powershell/simple/indexing/stop-search-index.js +16 -0
- package/dist/tools/powershell/simple/indexing/stop-search-index.js.map +1 -0
- package/dist/tools/powershell/simple/indexing/suspend-search-index.d.ts +3 -0
- package/dist/tools/powershell/simple/indexing/suspend-search-index.js +16 -0
- package/dist/tools/powershell/simple/indexing/suspend-search-index.js.map +1 -0
- package/dist/tools/powershell/simple/security/{unprotect-item.d.ts → get-all-domains.d.ts} +1 -1
- package/dist/tools/powershell/simple/security/get-all-domains.js +10 -0
- package/dist/tools/powershell/simple/security/get-all-domains.js.map +1 -0
- package/dist/tools/powershell/simple/security/{get-role.d.ts → get-current-user.d.ts} +1 -1
- package/dist/tools/powershell/simple/security/get-current-user.js +12 -0
- package/dist/tools/powershell/simple/security/get-current-user.js.map +1 -0
- package/dist/tools/powershell/simple/security/get-domain-by-name.d.ts +3 -0
- package/dist/tools/powershell/simple/security/{get-domain.js → get-domain-by-name.js} +2 -7
- package/dist/tools/powershell/simple/security/get-domain-by-name.js.map +1 -0
- package/dist/tools/powershell/simple/security/get-role-by-filter.d.ts +3 -0
- package/dist/tools/powershell/simple/security/{get-role.js → get-role-by-filter.js} +2 -11
- package/dist/tools/powershell/simple/security/get-role-by-filter.js.map +1 -0
- package/dist/tools/powershell/simple/security/get-role-by-identity.d.ts +3 -0
- package/dist/tools/powershell/simple/security/get-role-by-identity.js +15 -0
- package/dist/tools/powershell/simple/security/get-role-by-identity.js.map +1 -0
- package/dist/tools/powershell/simple/security/get-user-by-filter.d.ts +3 -0
- package/dist/tools/powershell/simple/security/get-user-by-filter.js +15 -0
- package/dist/tools/powershell/simple/security/get-user-by-filter.js.map +1 -0
- package/dist/tools/powershell/simple/security/get-user-by-identity.d.ts +3 -0
- package/dist/tools/powershell/simple/security/get-user-by-identity.js +15 -0
- package/dist/tools/powershell/simple/security/get-user-by-identity.js.map +1 -0
- package/dist/tools/powershell/simple/security/{get-domain.d.ts → lock-item-by-id.d.ts} +1 -1
- package/dist/tools/powershell/simple/security/lock-item-by-id.js +31 -0
- package/dist/tools/powershell/simple/security/lock-item-by-id.js.map +1 -0
- package/dist/tools/powershell/simple/security/{get-user.d.ts → lock-item-by-path.d.ts} +1 -1
- package/dist/tools/powershell/simple/security/{lock-item.js → lock-item-by-path.js} +2 -27
- package/dist/tools/powershell/simple/security/lock-item-by-path.js.map +1 -0
- package/dist/tools/powershell/simple/security/protect-item-by-id.d.ts +3 -0
- package/dist/tools/powershell/simple/security/protect-item-by-id.js +26 -0
- package/dist/tools/powershell/simple/security/protect-item-by-id.js.map +1 -0
- package/dist/tools/powershell/simple/security/protect-item-by-path.d.ts +3 -0
- package/dist/tools/powershell/simple/security/{protect-item.js → protect-item-by-path.js} +2 -22
- package/dist/tools/powershell/simple/security/protect-item-by-path.js.map +1 -0
- package/dist/tools/powershell/simple/security/unprotect-item-by-id.d.ts +3 -0
- package/dist/tools/powershell/simple/security/unprotect-item-by-id.js +26 -0
- package/dist/tools/powershell/simple/security/unprotect-item-by-id.js.map +1 -0
- package/dist/tools/powershell/simple/security/unprotect-item-by-path.d.ts +3 -0
- package/dist/tools/powershell/simple/security/{unprotect-item.js → unprotect-item-by-path.js} +2 -22
- package/dist/tools/powershell/simple/security/unprotect-item-by-path.js.map +1 -0
- package/package.json +1 -1
- package/dist/tools/item-service/composite/get-item-descendants.js.map +0 -1
- package/dist/tools/item-service/composite/get-languages.js.map +0 -1
- package/dist/tools/item-service/simple/create-item.js.map +0 -1
- package/dist/tools/item-service/simple/delete-item.js.map +0 -1
- package/dist/tools/item-service/simple/edit-item.js.map +0 -1
- package/dist/tools/item-service/simple/get-item-by-path.js.map +0 -1
- package/dist/tools/item-service/simple/get-item-children.js.map +0 -1
- package/dist/tools/item-service/simple/get-item.js.map +0 -1
- package/dist/tools/item-service/simple/run-stored-query.js.map +0 -1
- package/dist/tools/item-service/simple/run-stored-search.js.map +0 -1
- package/dist/tools/item-service/simple/search-items.js.map +0 -1
- package/dist/tools/item-service/tool-registrations/composite/get-item-descendants.registration.js.map +0 -1
- package/dist/tools/item-service/tool-registrations/composite/get-languages.registration.js.map +0 -1
- package/dist/tools/item-service/tool-registrations/simple/create-item.registration.js.map +0 -1
- package/dist/tools/item-service/tool-registrations/simple/delete-item.registration.js.map +0 -1
- package/dist/tools/item-service/tool-registrations/simple/edit-item.registration.js.map +0 -1
- package/dist/tools/item-service/tool-registrations/simple/get-item-by-path.registration.js.map +0 -1
- package/dist/tools/item-service/tool-registrations/simple/get-item-children.registration.js.map +0 -1
- package/dist/tools/item-service/tool-registrations/simple/get-item.registration.js.map +0 -1
- package/dist/tools/item-service/tool-registrations/simple/run-stored-query.registration.js.map +0 -1
- package/dist/tools/item-service/tool-registrations/simple/run-stored-search.registration.js.map +0 -1
- package/dist/tools/item-service/tool-registrations/simple/search-items.registration.js.map +0 -1
- package/dist/tools/powershell/simple/media/media-management.d.ts +0 -0
- package/dist/tools/powershell/simple/media/media-management.js +0 -2
- package/dist/tools/powershell/simple/media/media-management.js.map +0 -1
- package/dist/tools/powershell/simple/packages/package-management.d.ts +0 -0
- package/dist/tools/powershell/simple/packages/package-management.js +0 -2
- package/dist/tools/powershell/simple/packages/package-management.js.map +0 -1
- package/dist/tools/powershell/simple/security/get-domain.js.map +0 -1
- package/dist/tools/powershell/simple/security/get-role.js.map +0 -1
- package/dist/tools/powershell/simple/security/get-user.js +0 -31
- package/dist/tools/powershell/simple/security/get-user.js.map +0 -1
- package/dist/tools/powershell/simple/security/lock-item.js.map +0 -1
- package/dist/tools/powershell/simple/security/protect-item.d.ts +0 -3
- package/dist/tools/powershell/simple/security/protect-item.js.map +0 -1
- package/dist/tools/powershell/simple/security/unprotect-item.js.map +0 -1
- /package/dist/tools/item-service/{simple → logic/simple}/edit-item.d.ts +0 -0
- /package/dist/tools/item-service/{tool-registrations/composite/get-item-descendants.registration.d.ts → tools/composite/get-item-descendants.d.ts} +0 -0
- /package/dist/tools/item-service/{tool-registrations/composite/get-languages.registration.d.ts → tools/composite/get-languages.d.ts} +0 -0
- /package/dist/tools/item-service/{tool-registrations/simple/create-item.registration.d.ts → tools/simple/create-item.d.ts} +0 -0
- /package/dist/tools/item-service/{tool-registrations/simple/delete-item.registration.d.ts → tools/simple/delete-item.d.ts} +0 -0
- /package/dist/tools/item-service/{tool-registrations/simple/edit-item.registration.d.ts → tools/simple/edit-item.d.ts} +0 -0
- /package/dist/tools/item-service/{tool-registrations/simple/get-item-by-path.registration.d.ts → tools/simple/get-item-by-path.d.ts} +0 -0
- /package/dist/tools/item-service/{tool-registrations/simple/get-item-children.registration.d.ts → tools/simple/get-item-children.d.ts} +0 -0
- /package/dist/tools/item-service/{tool-registrations/simple/get-item.registration.d.ts → tools/simple/get-item.d.ts} +0 -0
- /package/dist/tools/item-service/{tool-registrations/simple/run-stored-query.registration.d.ts → tools/simple/run-stored-query.d.ts} +0 -0
- /package/dist/tools/item-service/{tool-registrations/simple/run-stored-search.registration.d.ts → tools/simple/run-stored-search.d.ts} +0 -0
- /package/dist/tools/item-service/{tool-registrations/simple/search-items.registration.d.ts → tools/simple/search-items.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -76,7 +76,9 @@
|
|
|
76
76
|
- [x] Indexing
|
|
77
77
|
- [x] `indexing-initialize-search-index`: initializes one or more search indexes
|
|
78
78
|
- [x] `indexing-get-search-index`: returns a search index
|
|
79
|
-
- [x] `indexing-find-item`: finds an item in a search index
|
|
79
|
+
- [x] `indexing-find-item`: finds an item in a search index - [x] `indexing-suspend-search-index`: suspends one or more running search indexes
|
|
80
|
+
- [x] `indexing-stop-search-index`: stops one or more running search indexes
|
|
81
|
+
- [x] `indexing-resume-search-index`: resumes one or more paused search indexes
|
|
80
82
|
- [x] `indexing-initialize-search-index-item-by-id`: rebuilds the index for a given tree with the specified root item by ID and index name
|
|
81
83
|
- [x] `indexing-initialize-search-index-item-by-path`: rebuilds the index for a given tree with the specified root item by path and index name
|
|
82
84
|
- [x] `indexing-remove-search-index-item-by-id`: removes the item with the specified ID from the search index
|
package/dist/bundle.js
CHANGED
|
@@ -24271,7 +24271,7 @@ async function runGenericPowershellCommand(config, command, options, outputForma
|
|
|
24271
24271
|
};
|
|
24272
24272
|
}
|
|
24273
24273
|
|
|
24274
|
-
function
|
|
24274
|
+
function getUserByIdentityPowerShellTool(server, config) {
|
|
24275
24275
|
server.tool("security-get-user-by-identity", "Get a Sitecore user by its name.", {
|
|
24276
24276
|
identity: stringType(),
|
|
24277
24277
|
}, async (params) => {
|
|
@@ -24281,6 +24281,9 @@ function getUserPowerShellTool(server, config) {
|
|
|
24281
24281
|
};
|
|
24282
24282
|
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
24283
24283
|
});
|
|
24284
|
+
}
|
|
24285
|
+
|
|
24286
|
+
function getCurrentUserPowerShellTool(server, config) {
|
|
24284
24287
|
server.tool("security-get-current-user", "Get the current Sitecore user.", {}, async () => {
|
|
24285
24288
|
const command = `Get-User`;
|
|
24286
24289
|
const options = {
|
|
@@ -24288,6 +24291,9 @@ function getUserPowerShellTool(server, config) {
|
|
|
24288
24291
|
};
|
|
24289
24292
|
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
24290
24293
|
});
|
|
24294
|
+
}
|
|
24295
|
+
|
|
24296
|
+
function getUserByFilterPowerShellTool(server, config) {
|
|
24291
24297
|
server.tool("security-get-user-by-filter", "Get a Sitecore users by filter.", {
|
|
24292
24298
|
filter: stringType(),
|
|
24293
24299
|
}, async (params) => {
|
|
@@ -24477,24 +24483,7 @@ function setUserPasswordPowerShellTool(server, config) {
|
|
|
24477
24483
|
});
|
|
24478
24484
|
}
|
|
24479
24485
|
|
|
24480
|
-
function
|
|
24481
|
-
server.tool("security-get-domain-by-name", "Get a Sitecore domain by its name.", {
|
|
24482
|
-
name: stringType(),
|
|
24483
|
-
}, async (params) => {
|
|
24484
|
-
const command = `Get-Domain`;
|
|
24485
|
-
const options = {
|
|
24486
|
-
"Name": params.name,
|
|
24487
|
-
};
|
|
24488
|
-
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
24489
|
-
});
|
|
24490
|
-
server.tool("security-get-domain", "Get all Sitecore domains.", {}, async () => {
|
|
24491
|
-
const command = `Get-Domain`;
|
|
24492
|
-
const options = {};
|
|
24493
|
-
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
24494
|
-
});
|
|
24495
|
-
}
|
|
24496
|
-
|
|
24497
|
-
function getRolePowerShellTool(server, config) {
|
|
24486
|
+
function getRoleByIdentityPowerShellTool(server, config) {
|
|
24498
24487
|
server.tool("security-get-role-by-identity", "Get a Sitecore role by its identity.", {
|
|
24499
24488
|
identity: stringType().describe("The identity of the role to retrieve (e.g. 'sitecore\\Author')"),
|
|
24500
24489
|
}, async (params) => {
|
|
@@ -24504,6 +24493,9 @@ function getRolePowerShellTool(server, config) {
|
|
|
24504
24493
|
};
|
|
24505
24494
|
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
24506
24495
|
});
|
|
24496
|
+
}
|
|
24497
|
+
|
|
24498
|
+
function getRoleByFilterPowerShellTool(server, config) {
|
|
24507
24499
|
server.tool("security-get-role-by-filter", "Get Sitecore roles by filter criteria.", {
|
|
24508
24500
|
filter: stringType().describe("The filter criteria to search for roles (e.g. 'sitecore\\*' or '*Author*')"),
|
|
24509
24501
|
}, async (params) => {
|
|
@@ -24575,59 +24567,6 @@ function removeRoleMemberPowerShellTool(server, config) {
|
|
|
24575
24567
|
});
|
|
24576
24568
|
}
|
|
24577
24569
|
|
|
24578
|
-
function lockItemPowerShellTool(server, config) {
|
|
24579
|
-
server.tool("security-lock-item-by-path", "Lock a Sitecore item by its path.", {
|
|
24580
|
-
path: stringType()
|
|
24581
|
-
.describe("The path of the item to lock (e.g. /sitecore/content/Home)"),
|
|
24582
|
-
force: booleanType()
|
|
24583
|
-
.optional().describe("If set to true, will force the lock even if the item is locked by another user"),
|
|
24584
|
-
passThru: booleanType().optional()
|
|
24585
|
-
.describe("If set to true, passes the processed object back to the pipeline"),
|
|
24586
|
-
database: stringType().optional()
|
|
24587
|
-
.describe("The database containing the item (defaults to the context database)")
|
|
24588
|
-
}, async (params) => {
|
|
24589
|
-
const command = `Lock-Item`;
|
|
24590
|
-
const options = {
|
|
24591
|
-
"Path": params.path,
|
|
24592
|
-
};
|
|
24593
|
-
if (params.force) {
|
|
24594
|
-
options["Force"] = "";
|
|
24595
|
-
}
|
|
24596
|
-
if (params.passThru) {
|
|
24597
|
-
options["PassThru"] = "";
|
|
24598
|
-
}
|
|
24599
|
-
if (params.database) {
|
|
24600
|
-
options["Database"] = params.database;
|
|
24601
|
-
}
|
|
24602
|
-
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
24603
|
-
});
|
|
24604
|
-
server.tool("security-lock-item-by-id", "Lock a Sitecore item by its ID.", {
|
|
24605
|
-
id: stringType()
|
|
24606
|
-
.describe("The ID of the item to lock"),
|
|
24607
|
-
force: booleanType().optional()
|
|
24608
|
-
.describe("If set to true, will force the lock even if the item is locked by another user"),
|
|
24609
|
-
passThru: booleanType().optional()
|
|
24610
|
-
.describe("If set to true, passes the processed object back to the pipeline"),
|
|
24611
|
-
database: stringType().optional()
|
|
24612
|
-
.describe("The database containing the item (defaults to the context database)")
|
|
24613
|
-
}, async (params) => {
|
|
24614
|
-
const command = `Lock-Item`;
|
|
24615
|
-
const options = {
|
|
24616
|
-
"Id": params.id,
|
|
24617
|
-
};
|
|
24618
|
-
if (params.force) {
|
|
24619
|
-
options["Force"] = "";
|
|
24620
|
-
}
|
|
24621
|
-
if (params.passThru) {
|
|
24622
|
-
options["PassThru"] = "";
|
|
24623
|
-
}
|
|
24624
|
-
if (params.database) {
|
|
24625
|
-
options["Database"] = params.database;
|
|
24626
|
-
}
|
|
24627
|
-
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
24628
|
-
});
|
|
24629
|
-
}
|
|
24630
|
-
|
|
24631
24570
|
function unlockItemPowerShellTool(server, config) {
|
|
24632
24571
|
server.tool("security-unlock-item-by-id", "Unlocks a Sitecore item by its ID.", {
|
|
24633
24572
|
id: stringType().describe("The ID of the item to unlock"),
|
|
@@ -24677,7 +24616,7 @@ function unlockItemPowerShellTool(server, config) {
|
|
|
24677
24616
|
});
|
|
24678
24617
|
}
|
|
24679
24618
|
|
|
24680
|
-
function
|
|
24619
|
+
function protectItemByPathPowerShellTool(server, config) {
|
|
24681
24620
|
server.tool("security-protect-item-by-path", "Protect a Sitecore item by its path.", {
|
|
24682
24621
|
path: stringType()
|
|
24683
24622
|
.describe("The path of the item to protect (e.g. /sitecore/content/Home)"),
|
|
@@ -24698,6 +24637,9 @@ function protectItemPowerShellTool(server, config) {
|
|
|
24698
24637
|
}
|
|
24699
24638
|
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
24700
24639
|
});
|
|
24640
|
+
}
|
|
24641
|
+
|
|
24642
|
+
function protectItemByIdPowerShellTool(server, config) {
|
|
24701
24643
|
server.tool("security-protect-item-by-id", "Protect a Sitecore item by its ID.", {
|
|
24702
24644
|
id: stringType()
|
|
24703
24645
|
.describe("The ID of the item to protect"),
|
|
@@ -24720,49 +24662,6 @@ function protectItemPowerShellTool(server, config) {
|
|
|
24720
24662
|
});
|
|
24721
24663
|
}
|
|
24722
24664
|
|
|
24723
|
-
function unprotectItemPowerShellTool(server, config) {
|
|
24724
|
-
server.tool("security-unprotect-item-by-path", "Unprotect a Sitecore item by its path.", {
|
|
24725
|
-
path: stringType()
|
|
24726
|
-
.describe("The path of the item to unprotect (e.g. /sitecore/content/Home)"),
|
|
24727
|
-
passThru: booleanType().optional()
|
|
24728
|
-
.describe("If set to true, passes the processed object back to the pipeline"),
|
|
24729
|
-
database: stringType().optional()
|
|
24730
|
-
.describe("The database containing the item (defaults to the context database)")
|
|
24731
|
-
}, async (params) => {
|
|
24732
|
-
const command = `Unprotect-Item`;
|
|
24733
|
-
const options = {
|
|
24734
|
-
"Path": params.path,
|
|
24735
|
-
};
|
|
24736
|
-
if (params.passThru) {
|
|
24737
|
-
options["PassThru"] = "";
|
|
24738
|
-
}
|
|
24739
|
-
if (params.database) {
|
|
24740
|
-
options["Database"] = params.database;
|
|
24741
|
-
}
|
|
24742
|
-
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
24743
|
-
});
|
|
24744
|
-
server.tool("security-unprotect-item-by-id", "Unprotect a Sitecore item by its ID.", {
|
|
24745
|
-
id: stringType()
|
|
24746
|
-
.describe("The ID of the item to unprotect"),
|
|
24747
|
-
passThru: booleanType().optional()
|
|
24748
|
-
.describe("If set to true, passes the processed object back to the pipeline"),
|
|
24749
|
-
database: stringType().optional()
|
|
24750
|
-
.describe("The database containing the item (defaults to the context database)")
|
|
24751
|
-
}, async (params) => {
|
|
24752
|
-
const command = `Unprotect-Item`;
|
|
24753
|
-
const options = {
|
|
24754
|
-
"Id": params.id,
|
|
24755
|
-
};
|
|
24756
|
-
if (params.passThru) {
|
|
24757
|
-
options["PassThru"] = "";
|
|
24758
|
-
}
|
|
24759
|
-
if (params.database) {
|
|
24760
|
-
options["Database"] = params.database;
|
|
24761
|
-
}
|
|
24762
|
-
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
24763
|
-
});
|
|
24764
|
-
}
|
|
24765
|
-
|
|
24766
24665
|
function newRolePowerShellTool(server, config) {
|
|
24767
24666
|
server.tool("security-new-role", "Creates a new Sitecore role.", {
|
|
24768
24667
|
identity: stringType()
|
|
@@ -25289,6 +25188,7 @@ $managedSchema.SolrDynamicFields | ForEach-Object {$_.Name}
|
|
|
25289
25188
|
const allFieldsDefault = [
|
|
25290
25189
|
"dictionary_t", "name_t_en", "text1_t_fr", "author_t_en", "fallback_domain_sm", "currency2_t_fr", "link2_t_fr", "symbol1_t_en", "datasource_template_t_en", "stackatbreakpoint_t_en", "eyebrow_t_en", "name_t_fr", "data_source_t", "preview_publishing_target_b", "replacement_html_t_en", "datasource_template_t_de", "database_t_en", "currency2_t_en", "termname_t_ja", "site_collection_s", "command_t_de", "text1_t_en", "should_update_item_name_b", "culture_s", "size_t_da", "authority_url_t", "stackatbreakpoint_t_da", "stackatbreakpoint_t_de", "submitbutton_t", "quote_t_en", "default_language_t_en", "size_t_en", "command_name_t", "defaultfields_t_da", "method_t_en", "phrase_t", "socialicon3_t", "__display_name_t_zh", "command_t_en", "__base_template_sm", "max_result_t", "startlabel_t_da", "startlabel_t_de", "title1_t_en", "type_t", "subtitle1_t_ja", "text3_t", "_path", "keywords_t_en", "includestandardtemplatefields_b", "cmp_field_name_t", "serversiderenderingengineapplicationurl_t", "link2_t_en", "defaultfields_t_en", "amount1_t_ja", "method_t_da", "value1_tf", "title2_t_ja", "customize_page_t", "critical_error_t", "startlabel_t_en", "fatal_error_t", "comment_dialog_height_tl", "key_t", "control_type_sm", "description_t_en", "item_template_t_en", "cacheable_b", "field_t_zh", "value3_tf", "shared_b", "text1_t_ja", "cta1_t", "max_result_t_zh", "default_value_t_zh", "image2_t", "enabled_b", "workflow_sm", "datasource_template_t_fr", "socialicon1_t", "sociallink3_t_fr", "text2_t_ja", "content_hub_attribute_t", "name_t_da", "script_t_zh", "_templates", "text1_t", "usecontextitem_b", "value_t", "showinsitemap_b", "name_t_de", "quick_action_bar_sm", "amount1_t_fr", "item_template_t", "symbol1_t", "itemnameproperty_t_en", "_version_", "webmethod_t", "cors_origins_t_en", "sociallink3_t_en", "parameters_t_ja", "header_prefix_t_en", "async_b", "validation_t_zh", "startlabel_t_ja", "appearance_evaluator_type_t", "description_t", "cmp_field_name_t_en", "backgroundimage_t", "photo_t", "webmethod_t_zh", "sociallink2_t_en", "time_span_tl", "componentquery_t", "answer_t_fr", "ispointofinterest_b", "subtitle2_t_ja", "longitude_tf", "footer_template_t_en", "tagline_t", "error_t_ja", "icon_t_en", "__quick_actions_sm", "header_prefix_t", "path_t_en", "placeholder_key_t_ja", "site_type_s", "socialicon3_t_en", "answer_t_en", "default_simulator_sm", "componentname_t_zh", "stackatbreakpoint_t", "parsedlanguage_s", "eyebrow_t", "datasource_template_t_ja", "symbol3_t", "sociallink3_t_ja", "sociallink1_t", "agent_t", "path_t_de", "validationtext_t_zh", "client_side_hook_s", "_language", "termname_t_en", "link2_t_ja", "error_t_de", "subtitle2_t_en", "allowedcontrollers_t_en", "open_properties_after_add_t", "license_t_en", "authorimage_t", "content_t", "__shared_revision_t_ja", "buttonlabel_t", "isbucket_text_s", "termname_t_fr", "dimensions_t", "mime_type_t", "subtitle2_t_fr", "minterm_tl", "authorimage_t_en", "search_filter_t", "_displayname", "error_t_en", "answer_t_ja", "namespace_t", "script_t", "position_t_ja", "__solr_norm_field_name_s", "validator_bar_sm", "path_t_ja", "title2_t_en", "reference_sm", "error_t_fr", "sociallink3_t", "command_t_ja", "_uniqueid", "_isclone", "subjectlabel_t", "screen_offset_t", "text5_t", "title2_t_fr", "reset_blank_b", "default_comment_dialog_height_tl", "foregroundimage_t", "datasource_location_t_de", "open_properties_after_add_t_zh", "amount1_t", "minimum_number_of_items_tf", "title1_t", "engine_type_name_t_en", "caption1_t_en", "display_name_t_en", "image5_t_fr", "collapsed_by_default_b", "subtext1_t_ja", "parsedcreatedby_s", "regional_iso_code_t", "mime_type_t_hy", "field_t_en", "engine_type_name_t", "buttonstyle_s", "_version", "position_t_en", "module_version_t_en", "command_t", "field_t_da", "title_t_zh", "charset_t_en", "field_t_de", "rendering_contents_resolver_sm", "imagedescription_t_en", "title3_t_en", "link5_t", "position_t_fr", "target_database_t_en", "settingsfolder_sm", "text3_t_ja", "sociallink1_t_en", "exclude_templates_sm", "sitecore_field_name_sm", "type_t_zh", "parameters_t_da", "width_t_en", "currency_t_ja", "engine_type_name_t_de", "title3_t_fr", "title_t", "encoding_t", "sociallink1_t_fr", "comment_template_sm", "image5_t_en", "currency1_t_ja", "submitbutton_t_ja", "parameters_t_de", "webmethod_t_da", "webmethod_t_de", "subtext1_t_en", "preservelanguage_b", "engine_type_name_t_ja", "default_comment_template_sm", "submitbutton_t_fr", "opening_search_results_s", "initial_state_sm", "thumbnail_t_en", "image5_t_ja", "validation_t", "title3_t", "image1_t_fr", "parameters_t_en", "max_result_t_ja", "thumbnail_t_fr", "header_template_t_en", "subtext1_t", "abstract_t_en", "default_language_t", "footnote_t", "published_by_t_en", "parameters_t_fr", "subtext1_t_fr", "image1_t_en", "controller_t_de", "header_t", "placeholder_key_t", "field_t", "validationtext_t", "iso_t", "category_t_en", "title3_t_ja", "displayname_t_en", "lastscript_t_da", "text3_t_en", "_database", "istemplate_b", "support_t", "alt_t", "sociallink1_t_ja", "message_t_en", "add_to_s", "symbol3_t_en", "__boost", "currency1_t_fr", "page_design_s", "caption1_t", "fallback_device_sm", "module_version_t", "submitbutton_t_en", "text3_t_fr", "width_t_hy", "backgroundcolor_s", "dictionary_t_en", "heading_t", "lastscript_t_en", "final_b", "termname_t", "currency2_t", "footnote_t_en", "currency1_t_en", "startlabel_t_zh", "__semantics", "url_t_en", "promotext_t_de", "showfilters_b", "amount1_t_en", "value1_t_ja", "promotext_t_da", "question_t_ja", "branchesfolder_sm", "extension_t_en", "max_result_t_en", "authorposition_t_en", "lastscript_t_fr", "link1_t", "value1_t", "footnote_t_fr", "webmethod_t_ja", "link_t", "throttle_strategy_sm", "subtext3_t", "promotext_t_en", "placeholder_t", "login_rendering_sm", "image1_t_ja", "error_t_zh", "max_result_t_fr", "validation_t_ja", "controller_t_en", "copyright_t_fr", "_template", "content_hub_attribute_t_en", "phrase_t_ja", "itemselectorquery_t_zh", "endlabel_t_zh", "subtitle3_t", "authorname_t", "componentquery_t_de", "placeholder_key_t_zh", "__enable_item_fallback_b", "copyright_t_en", "savelastscript_b", "image_t", "field_t_ja", "fatal_error_t_ja", "componentname_t_ja", "link3_t_ja", "bio_t", "image5_t", "subtitle4_t_ja", "extension_t_da", "componentquery_t_en", "validationtext_t_ja", "max_result_t_de", "assembly_t", "buttonlabel_t_en", "validate_button_sm", "lastscript_t_ja", "controller_t_ja", "validation_t_en", "stackatbreakpoint_t_ja", "enable_datasource_query_b", "subtitle1_t_en", "default_b", "webmethod_t_en", "__shared_revision_t_zh", "_templatename", "question_t_en", "value1_t_fr", "name_t_ja", "componentname_t_fr", "tag_t", "size_t_hy", "fatal_error_t_de", "link3_t", "checkbox_b", "question_t_fr", "value_t_en", "datasource_template_t", "author_t", "layout_t_en", "value1_t_en", "__validate_button_validation_rules_sm", "data_source_t_en", "subtitle1_t", "editable_b", "path_t_zh", "_parent", "componentname_t_de", "command_t_zh", "fatal_error_t_fr", "datetime_t", "link3_t_en", "phrase_t_fr", "authorposition_t", "navigationtitle_t_zh", "validation_t_de", "componentquery_t_ja", "tag_parent_sm", "_indexname", "emaillabel_t_en", "subtitle1_t_fr", "ignore_dictionary_translations_b", "fatal_error_t_en", "extension_t_hy", "componentname_t_en", "phrase_t_en", "link3_t_fr", "heading_t_en", "controller_action_t", "height_t", "__enforce_version_presence_b", "text5_t_ja", "license_t", "message_t", "isrendering_b", "messagelabel_t", "image3_t_en", "display_text_t_de", "__smallcreateddate_tdt", "title_t_ja", "persistentsessionid_t", "error_t", "text2_t", "caption3_t_en", "subtext3_t_ja", "haschildren_b", "movielabel_t_en", "cta2_t_en", "placeholder_t_en", "unversioned_b", "bio_t_fr", "type_t_ja", "category_t", "heading_t_da", "display_text_t_en", "language_t", "heading_t_de", "background_image_t", "promotext_t_ja", "navigationtitle_t_en", "_latestversion", "header_t_en", "_fullpath", "bio_t_en", "include_templates_sm", "exclude_items_t", "agent_t_ja", "rootitem_sm", "__workflow_state", "navigationtitle_t_da", "image1_t", "subjectlabel_t_en", "navigationtitle_t_de", "__display_name_t", "subtext2_t_en", "command_name_t_en", "charset_t", "itemselectorquery_t_da", "subtitle_t", "itemselectorquery_t_de", "controller_action_t_ja", "socialicon2_t", "exported_function_name_t_en", "engine_type_name_t_zh", "validationtext_t_de", "position_t", "heading_t_ja", "query_t_en", "list_name_t", "__unversioned_revision_t", "event_name_t", "allowed_number_of_requests_tl", "maxamount_tl", "maxterm_tl", "datasource_location_t_zh", "screen_offset_t_en", "_indextimestamp", "agent_t_de", "__publishing_groups_sm", "type_t_fr", "script_sm", "role_name_t_fr", "footnote_t_ja", "symbol2_t", "default_value_t", "image4_t_ja", "question_t", "text4_t_en", "__unversioned_revision_t_ja", "currency1_t", "query_t_da", "bio_t_ja", "itemselectorquery_t", "search_filter_t_en", "agent_t_en", "type_t_en", "render_as_html_b", "extension_t", "currency_t", "socialstitle_t_fr", "value2_tf", "rating_tf", "promotext_t_fr", "subtitle4_t_en", "type_t_de", "validationtext_t_en", "serversiderenderingengineconfigurl_t_zh", "quote_t", "cta2_t", "control_type_parameters_t", "exclude_from_text_search_b", "itemselectorquery_t_en", "image3_t", "subtitle4_t_fr", "theme_t", "control_type_t", "type_t_da", "use_alternate_content_b", "socialstitle_t_en", "image4_t_en", "regional_iso_code_t_en", "method_t", "query_string_t_en", "datasource_location_t", "__unversioned_revision_t_de", "__should_not_organize_in_bucket_b", "__unversioned_revision_t_da", "critical_error_t_zh", "caption2_t_en", "title4_t_en", "enable_language_fallback_b", "thumbnail_t_ja", "messagelabel_t_en", "thumbnail_t", "cta1_t_fr", "blob_b", "image4_t_fr", "link_t_ja", "text4_t_ja", "foregroundimage_t_fr", "interestrate_tf", "support_t_en", "sitecore_attribute_t_en", "controller_action_t_en", "title4_t_fr", "cacheclearingbehavior_s", "screen_height_tf", "next_state_sm", "display_text_t", "template_sm", "encoding_t_en", "sizerange_s", "image2_t_fr", "bucket_sm", "foregroundimage_t_en", "header_template_t", "title4_t", "itemselectorquery_t_ja", "excerpt_t", "text4_t_fr", "fallback_language_s", "endlabel_t_ja", "caption3_t", "serversiderenderingengineconfigurl_t", "imagedescription_t", "backgroundimage_t_en", "image2_t_en", "global_b", "__unversioned_revision_t_en", "background_image_t_en", "role_name_t_en", "command_sm", "fatal_error_t_zh", "cta1_t_en", "overwrite_b", "content_t_ja", "backgroundimage_t_fr", "mime_type_t_da", "parameters_template_sm", "name_t_zh", "assembly_t_en", "subtext3_t_fr", "size_t", "server_script_path_t", "sociallink2_t", "tagprefix_t", "email_t_en", "non_leaf_node_option_sm", "hostwidth_tf", "stackatbreakpoint_t_zh", "code_t", "display_name_t", "text4_t", "socialicon1_t_en", "code_page_t", "display_text_t_ja", "includeserverurlinmediaurls_b", "exclude_items_t_en", "list_name_t_en", "mime_type_t_en", "controller_t_zh", "query_t", "theme_t_en", "navigationtitle_t_fr", "subtext3_t_en", "eventname_t", "replacement_html_t", "server_script_path_t_en", "authority_url_t_en", "content_t_en", "link4_t_en", "auto_remove_b", "navigationtitle_t_ja", "image2_t_ja", "controller_action_t_de", "currency_t_en", "sitetemplate_sm", "solution_t", "numberofitems_tl", "content_t_fr", "client_t_en", "placeholders_sm", "__insert_rules_sm", "componentquery_t_zh", "currency_t_fr", "alt_t_en", "backgroundimage_t_ja", "allowed_controls_sm", "_name", "use_thread_b", "placeholder_key_t_de", "_haslayout_b", "script_t_da", "answer_t", "control_type_t_en", "sitecore_attribute_t", "subtitle3_t_ja", "amount2_t_fr", "database_t", "height_t_en", "event_name_t_en", "navigationtitle_t", "appearance_evaluator_type_t_en", "__created_by_s", "displayname_t", "link4_t_fr", "__display_name_t_fr", "datasource_location_t_en", "default_value_t_en", "script_t_de", "group_sm", "__shared_revision_t_fr", "amount2_t_en", "endlabel_t", "excerpt_t_en", "__shared_revision_t_de", "__shared_revision_t_da", "subtitle_t_ja", "datasource_location_t_fr", "agent_t_zh", "link_t_en", "__display_name_t_ja", "persistentsessionid_t_da", "publish_to_experience_edge_b", "script_t_en", "control_t", "link4_t", "excerpt_t_fr", "suppress_comment_b", "eventtypes_sm", "__quick_action_bar_validation_rules_sm", "__shared_revision_t_en", "iso_t_en", "componentname_t", "persistentsessionid_t_en", "path_t", "defaultfields_t", "__solr_field_type_s", "cors_origins_t", "_group", "script_t_fr", "heading_t_zh", "subtitle3_t_fr", "open_properties_after_add_t_de", "critical_error_t_en", "__validator_bar_validation_rules_sm", "page_editor_buttons_sm", "dimensions_t_en", "published_by_t", "__display_name_t_da", "default_value_t_ja", "render_engine_type_sm", "height_t_hy", "endlabel_t_da", "caption2_t", "title4_t_ja", "logoimage_t_en", "critical_error_t_fr", "link4_t_ja", "controller_action_t_zh", "link_t_fr", "_datasource", "control_t_en", "sociallink2_t_ja", "datasource_location_t_ja", "image_t_en", "endlabel_t_de", "tagprefix_t_en", "promotext_t_zh", "exported_function_name_t", "role_name_t", "tagline_t_en", "liveautocompletion_b", "script_t_ja", "amount2_t", "title2_t", "sociallink2_t_fr", "__display_name_t_en", "copyright_t", "email_t", "link5_t_ja", "serversiderenderingengineconfigurl_t_ja", "datetime_t_en", "endlabel_t_en", "fontfamily_s", "image_t_fr", "subtitle_t_fr", "placeholder_key_t_en", "__display_name_t_de", "footer_template_t", "subtext2_t", "logoimage_t", "dimensions_t_hy", "excerpt_t_ja", "serialization_type_sm", "target_database_t", "__unversioned_revision_t_zh", "icon_s", "icon_t", "__autothumbnails_b", "critical_error_t_de", "subtitle_t_en", "name_t", "url_t", "parsedupdatedby_s", "socialstitle_t", "critical_error_t_ja", "serversiderenderingengineconfigurl_t_de", "link1_t_en", "code_page_t_en", "customize_page_t_en", "allowedcontrollers_t", "subtitle4_t", "parameters_t_zh", "abstract_t", "keywords_t", "key_t_ja", "solution_t_en", "minamount_tl", "enable_shared_language_fallback_b", "client_t", "addfieldeditorbutton_b", "link1_t_fr", "problem_t_en", "image4_t", "title1_t_ja", "authorname_t_en", "parameters_t", "_creator", "text2_t_fr", "symbol2_t_en", "eventname_t_en", "calculateddimension_sm", "open_properties_after_add_t_fr", "text2_t_en", "image_t_ja", "itemnameproperty_t", "link5_t_fr", "tag_name_option_sm", "foregroundcolor_s", "namespace_t_en", "emaillabel_t", "datasource_template_t_zh", "controller_t", "serversiderenderingengineconfigurl_t_en", "open_properties_after_add_t_en", "subtitle3_t_en", "promotext_t", "image3_t_ja", "photo_t_ja", "latitude_tf", "movielabel_t", "link5_t_en", "site_sm", "amount2_t_ja", "text5_t_en", "currency2_t_ja", "__smallupdateddate_tdt", "subtitle2_t", "key_t_fr", "query_string_t", "subtext2_t_fr", "title_t_en", "layout_t", "tag_t_en", "__shared_revision_t", "fontsize_tf", "text5_t_fr", "control_type_parameters_t_en", "display_text_t_zh", "title_t_fr", "problem_t", "code_t_en", "language_t_en", "scale_sm", "startlabel_t", "title1_t_fr", "screen_width_tf", "link1_t_ja", "socialicon2_t_en", "__standard_values_sm", "width_t", "bankfee_tf", "lastscript_t", "photo_t_fr", "link2_t", "authorization_sm", "title_t_da", "serversiderenderingengineapplicationurl_t_en", "key_t_en", "open_properties_after_add_t_ja", "default_value_t_de", "image3_t_fr", "tags_sm", "title_t_de", "photo_t_en", "subtext2_t_ja_x000A_"
|
|
25291
25190
|
];
|
|
25191
|
+
const languages = ["En"];
|
|
25292
25192
|
const iso8601DateRegex = /^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/;
|
|
25293
25193
|
async function findItemPowerShellTool(server, config) {
|
|
25294
25194
|
const client = new PowershellClient(config.powershell.serverUrl, config.powershell.username, config.powershell.password, config.powershell.domain);
|
|
@@ -25352,11 +25252,35 @@ async function findItemPowerShellTool(server, config) {
|
|
|
25352
25252
|
}).join(", ");
|
|
25353
25253
|
const command = `Find-Item -Index "${params.index}" -Criteria @(${criteria}) -First ${params.first} -Skip ${params.skip} `;
|
|
25354
25254
|
return safeMcpResponse(client.executeScriptJson(command, {}).then((result) => {
|
|
25355
|
-
JSON.parse(result).Obj;
|
|
25255
|
+
const items = JSON.parse(result).Obj;
|
|
25256
|
+
const simplifiedItems = items.map((item) => {
|
|
25257
|
+
let newItem = {};
|
|
25258
|
+
newItem.ItemId = item.ItemId.ToString;
|
|
25259
|
+
newItem.Name = item.Name;
|
|
25260
|
+
newItem.Path = item.Path;
|
|
25261
|
+
newItem.TemplateId = item.TemplateId.ToString;
|
|
25262
|
+
newItem.TemplateName = item.TemplateName;
|
|
25263
|
+
params.criteria.forEach((c) => {
|
|
25264
|
+
let f = false;
|
|
25265
|
+
for (const language of languages) {
|
|
25266
|
+
if (c.field.endsWith(`_${language.toLowerCase()}`)) {
|
|
25267
|
+
f = true;
|
|
25268
|
+
newItem[c.field] = item.Fields[language].find((x) => x.Key === c.field.replace(`_${language.toLowerCase()}`, ""))["Value"];
|
|
25269
|
+
break;
|
|
25270
|
+
}
|
|
25271
|
+
}
|
|
25272
|
+
if (!f) {
|
|
25273
|
+
// Field was not found, probably it is not a text language field
|
|
25274
|
+
// Use values from EN version
|
|
25275
|
+
newItem[c.field] = item.Fields["En"].find((x) => x.Key === c.field)["Value"];
|
|
25276
|
+
}
|
|
25277
|
+
});
|
|
25278
|
+
return newItem;
|
|
25279
|
+
});
|
|
25356
25280
|
return {
|
|
25357
25281
|
content: [{
|
|
25358
25282
|
type: "text",
|
|
25359
|
-
text: result === "{}" ? "No items found." :
|
|
25283
|
+
text: result === "{}" ? "No items found." : JSON.stringify(simplifiedItems, null, 2)
|
|
25360
25284
|
}]
|
|
25361
25285
|
};
|
|
25362
25286
|
}, (error) => {
|
|
@@ -25365,6 +25289,45 @@ async function findItemPowerShellTool(server, config) {
|
|
|
25365
25289
|
});
|
|
25366
25290
|
}
|
|
25367
25291
|
|
|
25292
|
+
function resumeSearchIndexPowerShellTool(server, config) {
|
|
25293
|
+
server.tool("indexing-resume-search-index", "Resume one or more Sitecore search indexes. If no name is provided, all paused indexes will be resumed.", {
|
|
25294
|
+
name: stringType().optional().describe("The name of the index to resume. If not provided, all paused indexes will be resumed."),
|
|
25295
|
+
}, async (params) => {
|
|
25296
|
+
const command = `Resume-SearchIndex`;
|
|
25297
|
+
const options = {};
|
|
25298
|
+
if (params.name) {
|
|
25299
|
+
options["Name"] = params.name;
|
|
25300
|
+
}
|
|
25301
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
25302
|
+
});
|
|
25303
|
+
}
|
|
25304
|
+
|
|
25305
|
+
function suspendSearchIndexPowerShellTool(server, config) {
|
|
25306
|
+
server.tool("indexing-suspend-search-index", "Suspend one or more Sitecore search indexes. If no name is provided, all running indexes will be suspended.", {
|
|
25307
|
+
name: stringType().optional().describe("The name of the index to suspend. If not provided, all running indexes will be suspended."),
|
|
25308
|
+
}, async (params) => {
|
|
25309
|
+
const command = `Suspend-SearchIndex`;
|
|
25310
|
+
const options = {};
|
|
25311
|
+
if (params.name) {
|
|
25312
|
+
options["Name"] = params.name;
|
|
25313
|
+
}
|
|
25314
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
25315
|
+
});
|
|
25316
|
+
}
|
|
25317
|
+
|
|
25318
|
+
function stopSearchIndexPowerShellTool(server, config) {
|
|
25319
|
+
server.tool("indexing-stop-search-index", "Stop one or more Sitecore search indexes. If no name is provided, all running indexes will be stopped.", {
|
|
25320
|
+
name: stringType().optional().describe("The name of the index to stop. If not provided, all running indexes will be stopped."),
|
|
25321
|
+
}, async (params) => {
|
|
25322
|
+
const command = `Stop-SearchIndex`;
|
|
25323
|
+
const options = {};
|
|
25324
|
+
if (params.name) {
|
|
25325
|
+
options["Name"] = params.name;
|
|
25326
|
+
}
|
|
25327
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
25328
|
+
});
|
|
25329
|
+
}
|
|
25330
|
+
|
|
25368
25331
|
function prepareArgsString(parameters) {
|
|
25369
25332
|
let scriptWithParameters = "";
|
|
25370
25333
|
if (parameters) {
|
|
@@ -25518,6 +25481,128 @@ function removeSearchIndexItemByPathPowerShellTool(server, config) {
|
|
|
25518
25481
|
});
|
|
25519
25482
|
}
|
|
25520
25483
|
|
|
25484
|
+
function lockItemByIdPowerShellTool(server, config) {
|
|
25485
|
+
server.tool("security-lock-item-by-id", "Lock a Sitecore item by its ID.", {
|
|
25486
|
+
id: stringType()
|
|
25487
|
+
.describe("The ID of the item to lock"),
|
|
25488
|
+
force: booleanType().optional()
|
|
25489
|
+
.describe("If set to true, will force the lock even if the item is locked by another user"),
|
|
25490
|
+
passThru: booleanType().optional()
|
|
25491
|
+
.describe("If set to true, passes the processed object back to the pipeline"),
|
|
25492
|
+
database: stringType().optional()
|
|
25493
|
+
.describe("The database containing the item (defaults to the context database)")
|
|
25494
|
+
}, async (params) => {
|
|
25495
|
+
const command = `Lock-Item`;
|
|
25496
|
+
const options = {
|
|
25497
|
+
"Id": params.id,
|
|
25498
|
+
};
|
|
25499
|
+
if (params.force) {
|
|
25500
|
+
options["Force"] = "";
|
|
25501
|
+
}
|
|
25502
|
+
if (params.passThru) {
|
|
25503
|
+
options["PassThru"] = "";
|
|
25504
|
+
}
|
|
25505
|
+
if (params.database) {
|
|
25506
|
+
options["Database"] = params.database;
|
|
25507
|
+
}
|
|
25508
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
25509
|
+
});
|
|
25510
|
+
}
|
|
25511
|
+
|
|
25512
|
+
function lockItemByPathPowerShellTool(server, config) {
|
|
25513
|
+
server.tool("security-lock-item-by-path", "Lock a Sitecore item by its path.", {
|
|
25514
|
+
path: stringType()
|
|
25515
|
+
.describe("The path of the item to lock (e.g. /sitecore/content/Home)"),
|
|
25516
|
+
force: booleanType()
|
|
25517
|
+
.optional().describe("If set to true, will force the lock even if the item is locked by another user"),
|
|
25518
|
+
passThru: booleanType().optional()
|
|
25519
|
+
.describe("If set to true, passes the processed object back to the pipeline"),
|
|
25520
|
+
database: stringType().optional()
|
|
25521
|
+
.describe("The database containing the item (defaults to the context database)")
|
|
25522
|
+
}, async (params) => {
|
|
25523
|
+
const command = `Lock-Item`;
|
|
25524
|
+
const options = {
|
|
25525
|
+
"Path": params.path,
|
|
25526
|
+
};
|
|
25527
|
+
if (params.force) {
|
|
25528
|
+
options["Force"] = "";
|
|
25529
|
+
}
|
|
25530
|
+
if (params.passThru) {
|
|
25531
|
+
options["PassThru"] = "";
|
|
25532
|
+
}
|
|
25533
|
+
if (params.database) {
|
|
25534
|
+
options["Database"] = params.database;
|
|
25535
|
+
}
|
|
25536
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
25537
|
+
});
|
|
25538
|
+
}
|
|
25539
|
+
|
|
25540
|
+
function unprotectItemByIdPowerShellTool(server, config) {
|
|
25541
|
+
server.tool("security-unprotect-item-by-id", "Unprotect a Sitecore item by its ID.", {
|
|
25542
|
+
id: stringType()
|
|
25543
|
+
.describe("The ID of the item to unprotect"),
|
|
25544
|
+
passThru: booleanType().optional()
|
|
25545
|
+
.describe("If set to true, passes the processed object back to the pipeline"),
|
|
25546
|
+
database: stringType().optional()
|
|
25547
|
+
.describe("The database containing the item (defaults to the context database)")
|
|
25548
|
+
}, async (params) => {
|
|
25549
|
+
const command = `Unprotect-Item`;
|
|
25550
|
+
const options = {
|
|
25551
|
+
"Id": params.id,
|
|
25552
|
+
};
|
|
25553
|
+
if (params.passThru) {
|
|
25554
|
+
options["PassThru"] = "";
|
|
25555
|
+
}
|
|
25556
|
+
if (params.database) {
|
|
25557
|
+
options["Database"] = params.database;
|
|
25558
|
+
}
|
|
25559
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
25560
|
+
});
|
|
25561
|
+
}
|
|
25562
|
+
|
|
25563
|
+
function unprotectItemByPathPowerShellTool(server, config) {
|
|
25564
|
+
server.tool("security-unprotect-item-by-path", "Unprotect a Sitecore item by its path.", {
|
|
25565
|
+
path: stringType()
|
|
25566
|
+
.describe("The path of the item to unprotect (e.g. /sitecore/content/Home)"),
|
|
25567
|
+
passThru: booleanType().optional()
|
|
25568
|
+
.describe("If set to true, passes the processed object back to the pipeline"),
|
|
25569
|
+
database: stringType().optional()
|
|
25570
|
+
.describe("The database containing the item (defaults to the context database)")
|
|
25571
|
+
}, async (params) => {
|
|
25572
|
+
const command = `Unprotect-Item`;
|
|
25573
|
+
const options = {
|
|
25574
|
+
"Path": params.path,
|
|
25575
|
+
};
|
|
25576
|
+
if (params.passThru) {
|
|
25577
|
+
options["PassThru"] = "";
|
|
25578
|
+
}
|
|
25579
|
+
if (params.database) {
|
|
25580
|
+
options["Database"] = params.database;
|
|
25581
|
+
}
|
|
25582
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
25583
|
+
});
|
|
25584
|
+
}
|
|
25585
|
+
|
|
25586
|
+
function getDomainByNamePowerShellTool(server, config) {
|
|
25587
|
+
server.tool("security-get-domain-by-name", "Get a Sitecore domain by its name.", {
|
|
25588
|
+
name: stringType(),
|
|
25589
|
+
}, async (params) => {
|
|
25590
|
+
const command = `Get-Domain`;
|
|
25591
|
+
const options = {
|
|
25592
|
+
"Name": params.name,
|
|
25593
|
+
};
|
|
25594
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
25595
|
+
});
|
|
25596
|
+
}
|
|
25597
|
+
|
|
25598
|
+
function getAllDomainsPowerShellTool(server, config) {
|
|
25599
|
+
server.tool("security-get-domain", "Get all Sitecore domains.", {}, async () => {
|
|
25600
|
+
const command = `Get-Domain`;
|
|
25601
|
+
const options = {};
|
|
25602
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, options));
|
|
25603
|
+
});
|
|
25604
|
+
}
|
|
25605
|
+
|
|
25521
25606
|
async function register(array, server, config) {
|
|
25522
25607
|
for (const register of array) {
|
|
25523
25608
|
await register(server, config);
|
|
@@ -25525,7 +25610,8 @@ async function register(array, server, config) {
|
|
|
25525
25610
|
}
|
|
25526
25611
|
async function registerAll(server, config) {
|
|
25527
25612
|
await register([
|
|
25528
|
-
registerGraphQL,
|
|
25613
|
+
registerGraphQL,
|
|
25614
|
+
//Item Service
|
|
25529
25615
|
//Simple Item Service Tools
|
|
25530
25616
|
getItemTool,
|
|
25531
25617
|
getItemChildrenTool,
|
|
@@ -25538,10 +25624,13 @@ async function registerAll(server, config) {
|
|
|
25538
25624
|
runStoredSearchTool,
|
|
25539
25625
|
//Composite Item Service Tools
|
|
25540
25626
|
getItemDescendantsTool,
|
|
25541
|
-
getLanguagesTool,
|
|
25627
|
+
getLanguagesTool,
|
|
25628
|
+
//PowerShell tools
|
|
25542
25629
|
//Security
|
|
25543
25630
|
//Simple Security PowerShell Tools
|
|
25544
|
-
|
|
25631
|
+
getUserByIdentityPowerShellTool,
|
|
25632
|
+
getCurrentUserPowerShellTool,
|
|
25633
|
+
getUserByFilterPowerShellTool,
|
|
25545
25634
|
newUserPowerShellTool,
|
|
25546
25635
|
removeUserPowerShellTool,
|
|
25547
25636
|
disableUserPowerShellTool,
|
|
@@ -25549,15 +25638,20 @@ async function registerAll(server, config) {
|
|
|
25549
25638
|
unlockUserPowerShellTool,
|
|
25550
25639
|
setUserPowerShellTool,
|
|
25551
25640
|
setUserPasswordPowerShellTool,
|
|
25552
|
-
|
|
25553
|
-
|
|
25641
|
+
getDomainByNamePowerShellTool,
|
|
25642
|
+
getAllDomainsPowerShellTool,
|
|
25643
|
+
getRoleByIdentityPowerShellTool,
|
|
25644
|
+
getRoleByFilterPowerShellTool,
|
|
25554
25645
|
getRoleMemberPowerShellTool,
|
|
25555
25646
|
addRoleMemberPowerShellTool,
|
|
25556
25647
|
removeRoleMemberPowerShellTool,
|
|
25557
|
-
|
|
25648
|
+
lockItemByIdPowerShellTool,
|
|
25649
|
+
lockItemByPathPowerShellTool,
|
|
25558
25650
|
unlockItemPowerShellTool,
|
|
25559
|
-
|
|
25560
|
-
|
|
25651
|
+
protectItemByPathPowerShellTool,
|
|
25652
|
+
protectItemByIdPowerShellTool,
|
|
25653
|
+
unprotectItemByIdPowerShellTool,
|
|
25654
|
+
unprotectItemByPathPowerShellTool,
|
|
25561
25655
|
newRolePowerShellTool,
|
|
25562
25656
|
removeRolePowerShellTool,
|
|
25563
25657
|
newDomainPowerShellTool,
|
|
@@ -25571,11 +25665,11 @@ async function registerAll(server, config) {
|
|
|
25571
25665
|
setItemAclByIdPowerShellTool,
|
|
25572
25666
|
setItemAclByPathPowerShellTool,
|
|
25573
25667
|
//Provider
|
|
25574
|
-
getItemPowerShellTool,
|
|
25575
|
-
|
|
25576
|
-
|
|
25577
|
-
|
|
25578
|
-
|
|
25668
|
+
getItemPowerShellTool, //Indexing PowerShell Tools
|
|
25669
|
+
initializeSearchIndexPowerShellTool, getSearchIndexPowerShellTool, findItemPowerShellTool,
|
|
25670
|
+
resumeSearchIndexPowerShellTool,
|
|
25671
|
+
suspendSearchIndexPowerShellTool,
|
|
25672
|
+
stopSearchIndexPowerShellTool,
|
|
25579
25673
|
//Composite Indexing PowerShell Tools
|
|
25580
25674
|
initializeSearchIndexingItemByIdPowerShellTool,
|
|
25581
25675
|
initializeSearchIndexingItemByPathPowerShellTool,
|