@antonytm/mcp-sitecore-server 0.10.6 → 0.11.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 +5 -0
- package/dist/bundle.js +160 -72
- package/dist/register.js +13 -2
- package/dist/register.js.map +1 -1
- package/dist/tools/powershell/client.js +1 -1
- package/dist/tools/powershell/client.js.map +1 -1
- package/dist/tools/powershell/composite/indexing/initialialize-search-indexing-item-by-id.d.ts +3 -0
- package/dist/tools/powershell/composite/indexing/initialialize-search-indexing-item-by-id.js +24 -0
- package/dist/tools/powershell/composite/indexing/initialialize-search-indexing-item-by-id.js.map +1 -0
- package/dist/tools/powershell/composite/indexing/initialialize-search-indexing-item-by-path.d.ts +3 -0
- package/dist/tools/powershell/composite/indexing/initialialize-search-indexing-item-by-path.js +21 -0
- package/dist/tools/powershell/composite/indexing/initialialize-search-indexing-item-by-path.js.map +1 -0
- package/dist/tools/powershell/composite/indexing/remove-search-index-item-by-id.d.ts +3 -0
- package/dist/tools/powershell/composite/indexing/remove-search-index-item-by-id.js +24 -0
- package/dist/tools/powershell/composite/indexing/remove-search-index-item-by-id.js.map +1 -0
- package/dist/tools/powershell/composite/indexing/remove-search-index-item-by-path.d.ts +3 -0
- package/dist/tools/powershell/composite/indexing/remove-search-index-item-by-path.js +21 -0
- package/dist/tools/powershell/composite/indexing/remove-search-index-item-by-path.js.map +1 -0
- package/dist/tools/powershell/composite/security/{set-item-acl.d.ts → set-item-acl-by-id.d.ts} +1 -1
- package/dist/tools/powershell/composite/security/set-item-acl-by-id.js +35 -0
- package/dist/tools/powershell/composite/security/set-item-acl-by-id.js.map +1 -0
- package/dist/tools/powershell/composite/security/set-item-acl-by-path.d.ts +3 -0
- package/dist/tools/powershell/composite/security/set-item-acl-by-path.js +32 -0
- package/dist/tools/powershell/composite/security/set-item-acl-by-path.js.map +1 -0
- package/package.json +1 -1
- package/dist/tools/powershell/composite/security/set-item-acl.js +0 -59
- package/dist/tools/powershell/composite/security/set-item-acl.js.map +0 -1
package/README.md
CHANGED
|
@@ -77,6 +77,11 @@
|
|
|
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
79
|
- [x] `indexing-find-item`: finds an item in a search index
|
|
80
|
+
- [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
|
+
- [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
|
+
- [x] `indexing-remove-search-index-item-by-id`: removes the item with the specified ID from the search index
|
|
83
|
+
- [x] `indexing-remove-search-index-item-by-path`: removes the item with the specified path from the search index
|
|
84
|
+
- [ ] ~~`indexing-initialize-item`: initializes items with the PowerShell automatic properties for each field.~~ Skipped, no value for MCP server.
|
|
80
85
|
|
|
81
86
|
- [ ] Sitecore CLI
|
|
82
87
|
|
package/dist/bundle.js
CHANGED
|
@@ -25193,77 +25193,6 @@ function getItemPowerShellTool(server, config) {
|
|
|
25193
25193
|
});
|
|
25194
25194
|
}
|
|
25195
25195
|
|
|
25196
|
-
function prepareArgsString(parameters) {
|
|
25197
|
-
let scriptWithParameters = "";
|
|
25198
|
-
if (parameters) {
|
|
25199
|
-
for (const parameter in parameters) {
|
|
25200
|
-
if (parameters[parameter] === "") {
|
|
25201
|
-
scriptWithParameters += ` -${parameter}`;
|
|
25202
|
-
}
|
|
25203
|
-
else if (Array.isArray(parameters[parameter])) {
|
|
25204
|
-
scriptWithParameters += ` -${parameter} "${parameters[parameter].join('","')}"`;
|
|
25205
|
-
}
|
|
25206
|
-
else {
|
|
25207
|
-
scriptWithParameters += ` -${parameter} "${parameters[parameter]}"`;
|
|
25208
|
-
}
|
|
25209
|
-
}
|
|
25210
|
-
}
|
|
25211
|
-
return scriptWithParameters;
|
|
25212
|
-
}
|
|
25213
|
-
|
|
25214
|
-
// This security tool doesn't have sense as it could be replaced with Add-ItemAcl+Clear-ItemAcl tools.
|
|
25215
|
-
// It is kept for testing "composite" tools.
|
|
25216
|
-
function setItemAclPowerShellTool(server, config) {
|
|
25217
|
-
server.tool("security-set-item-acl-by-id", "Sets an access control entry to a Sitecore item by its ID.", {
|
|
25218
|
-
id: stringType()
|
|
25219
|
-
.describe("The ID of the item to add ACL entry for"),
|
|
25220
|
-
identity: stringType()
|
|
25221
|
-
.describe("The identity of the account (user or role) to grant permissions to (e.g. 'sitecore\\admin')"),
|
|
25222
|
-
accessRight: enumType(AccessRights)
|
|
25223
|
-
.describe("The access right to grant (e.g. 'item:read', 'item:write')"),
|
|
25224
|
-
propagationType: enumType(["Descendants", "Children", "Entity"]).default("Entity")
|
|
25225
|
-
.describe("The propagation type for the access right"),
|
|
25226
|
-
securityPermission: enumType(["AllowAccess", "DenyAccess"]).default("AllowAccess")
|
|
25227
|
-
.describe("Whether to allow or deny the specified access right"),
|
|
25228
|
-
}, async (params) => {
|
|
25229
|
-
const parameters1Obj = {};
|
|
25230
|
-
parameters1Obj["Identity"] = params.identity;
|
|
25231
|
-
parameters1Obj["AccessRight"] = params.accessRight;
|
|
25232
|
-
parameters1Obj["PropagationType"] = params.propagationType;
|
|
25233
|
-
parameters1Obj["SecurityPermission"] = params.securityPermission;
|
|
25234
|
-
const parameters1 = prepareArgsString(parameters1Obj);
|
|
25235
|
-
const command = `
|
|
25236
|
-
$acl = New-ItemAcl ${parameters1}
|
|
25237
|
-
Get-Item -Id ${params.id} | Set-ItemAcl -AccessRules $acl
|
|
25238
|
-
`.replaceAll(/[\n]+/g, "");
|
|
25239
|
-
return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
|
|
25240
|
-
});
|
|
25241
|
-
server.tool("security-set-item-acl-by-path", "Sets an access control entry to a Sitecore item by its path.", {
|
|
25242
|
-
path: stringType()
|
|
25243
|
-
.describe("The path of the item to add ACL entry for"),
|
|
25244
|
-
identity: stringType()
|
|
25245
|
-
.describe("The identity of the account (user or role) to grant permissions to (e.g. 'sitecore\\admin')"),
|
|
25246
|
-
accessRight: enumType(AccessRights)
|
|
25247
|
-
.describe("The access right to grant (e.g. 'item:read', 'item:write')"),
|
|
25248
|
-
propagationType: enumType(["Descendants", "Children", "Entity"]).default("Entity")
|
|
25249
|
-
.describe("The propagation type for the access right"),
|
|
25250
|
-
securityPermission: enumType(["AllowAccess", "DenyAccess"]).default("AllowAccess")
|
|
25251
|
-
.describe("Whether to allow or deny the specified access right"),
|
|
25252
|
-
}, async (params) => {
|
|
25253
|
-
const parameters1Obj = {};
|
|
25254
|
-
parameters1Obj["Identity"] = params.identity;
|
|
25255
|
-
parameters1Obj["AccessRight"] = params.accessRight;
|
|
25256
|
-
parameters1Obj["PropagationType"] = params.propagationType;
|
|
25257
|
-
parameters1Obj["SecurityPermission"] = params.securityPermission;
|
|
25258
|
-
const parameters1 = prepareArgsString(parameters1Obj);
|
|
25259
|
-
const command = `
|
|
25260
|
-
$acl = New-ItemAcl ${parameters1}
|
|
25261
|
-
Get-Item -Path "${params.path}" | Set-ItemAcl -AccessRules $acl
|
|
25262
|
-
`.replaceAll(/[\n]+/g, "");
|
|
25263
|
-
return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
|
|
25264
|
-
});
|
|
25265
|
-
}
|
|
25266
|
-
|
|
25267
25196
|
function initializeSearchIndexPowerShellTool(server, config) {
|
|
25268
25197
|
server.tool("indexing-initialize-search-index", "Initialize one or more Sitecore search indexes. If no name is provided, all indexes will be initialized.", {
|
|
25269
25198
|
name: stringType().optional().describe("The name of the index to initialize. If not provided, all indexes will be initialized."),
|
|
@@ -25436,6 +25365,159 @@ async function findItemPowerShellTool(server, config) {
|
|
|
25436
25365
|
});
|
|
25437
25366
|
}
|
|
25438
25367
|
|
|
25368
|
+
function prepareArgsString(parameters) {
|
|
25369
|
+
let scriptWithParameters = "";
|
|
25370
|
+
if (parameters) {
|
|
25371
|
+
for (const parameter in parameters) {
|
|
25372
|
+
if (parameters[parameter] === "") {
|
|
25373
|
+
scriptWithParameters += ` -${parameter}`;
|
|
25374
|
+
}
|
|
25375
|
+
else if (Array.isArray(parameters[parameter])) {
|
|
25376
|
+
scriptWithParameters += ` -${parameter} "${parameters[parameter].join('","')}"`;
|
|
25377
|
+
}
|
|
25378
|
+
else {
|
|
25379
|
+
scriptWithParameters += ` -${parameter} "${parameters[parameter]}"`;
|
|
25380
|
+
}
|
|
25381
|
+
}
|
|
25382
|
+
}
|
|
25383
|
+
return scriptWithParameters;
|
|
25384
|
+
}
|
|
25385
|
+
|
|
25386
|
+
function setItemAclByIdPowerShellTool(server, config) {
|
|
25387
|
+
server.tool("security-set-item-acl-by-id", "Sets an access control entry to a Sitecore item by its ID.", {
|
|
25388
|
+
id: stringType()
|
|
25389
|
+
.describe("The ID of the item to add ACL entry for"),
|
|
25390
|
+
path: stringType()
|
|
25391
|
+
.default("master:")
|
|
25392
|
+
.optional(),
|
|
25393
|
+
identity: stringType()
|
|
25394
|
+
.describe("The identity of the account (user or role) to grant permissions to (e.g. 'sitecore\\admin')"),
|
|
25395
|
+
accessRight: enumType(AccessRights)
|
|
25396
|
+
.describe("The access right to grant (e.g. 'item:read', 'item:write')"),
|
|
25397
|
+
propagationType: enumType(["Descendants", "Children", "Entity"]).default("Entity")
|
|
25398
|
+
.describe("The propagation type for the access right"),
|
|
25399
|
+
securityPermission: enumType(["AllowAccess", "DenyAccess"]).default("AllowAccess")
|
|
25400
|
+
.describe("Whether to allow or deny the specified access right"),
|
|
25401
|
+
}, async (params) => {
|
|
25402
|
+
const parameters1Obj = {};
|
|
25403
|
+
parameters1Obj["Identity"] = params.identity;
|
|
25404
|
+
parameters1Obj["AccessRight"] = params.accessRight;
|
|
25405
|
+
parameters1Obj["PropagationType"] = params.propagationType;
|
|
25406
|
+
parameters1Obj["SecurityPermission"] = params.securityPermission;
|
|
25407
|
+
const parameters1 = prepareArgsString(parameters1Obj);
|
|
25408
|
+
const command = `
|
|
25409
|
+
$acl = New-ItemAcl ${parameters1};
|
|
25410
|
+
Get-Item -Id ${params.id} -Path ${params.path} | Set-ItemAcl -AccessRules $acl
|
|
25411
|
+
`.replaceAll(/[\n]+/g, "");
|
|
25412
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
|
|
25413
|
+
});
|
|
25414
|
+
}
|
|
25415
|
+
|
|
25416
|
+
function setItemAclByPathPowerShellTool(server, config) {
|
|
25417
|
+
server.tool("security-set-item-acl-by-path", "Sets an access control entry to a Sitecore item by its path.", {
|
|
25418
|
+
path: stringType()
|
|
25419
|
+
.describe("The path of the item to add ACL entry for"),
|
|
25420
|
+
identity: stringType()
|
|
25421
|
+
.describe("The identity of the account (user or role) to grant permissions to (e.g. 'sitecore\\admin')"),
|
|
25422
|
+
accessRight: enumType(AccessRights)
|
|
25423
|
+
.describe("The access right to grant (e.g. 'item:read', 'item:write')"),
|
|
25424
|
+
propagationType: enumType(["Descendants", "Children", "Entity"]).default("Entity")
|
|
25425
|
+
.describe("The propagation type for the access right"),
|
|
25426
|
+
securityPermission: enumType(["AllowAccess", "DenyAccess"]).default("AllowAccess")
|
|
25427
|
+
.describe("Whether to allow or deny the specified access right"),
|
|
25428
|
+
}, async (params) => {
|
|
25429
|
+
const parameters1Obj = {};
|
|
25430
|
+
parameters1Obj["Identity"] = params.identity;
|
|
25431
|
+
parameters1Obj["AccessRight"] = params.accessRight;
|
|
25432
|
+
parameters1Obj["PropagationType"] = params.propagationType;
|
|
25433
|
+
parameters1Obj["SecurityPermission"] = params.securityPermission;
|
|
25434
|
+
const parameters1 = prepareArgsString(parameters1Obj);
|
|
25435
|
+
const command = `
|
|
25436
|
+
$acl = New-ItemAcl ${parameters1};
|
|
25437
|
+
Get-Item -Path "${params.path}" | Set-ItemAcl -AccessRules $acl
|
|
25438
|
+
`.replaceAll(/[\n]+/g, "");
|
|
25439
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
|
|
25440
|
+
});
|
|
25441
|
+
}
|
|
25442
|
+
|
|
25443
|
+
function initializeSearchIndexingItemByIdPowerShellTool(server, config) {
|
|
25444
|
+
server.tool("indexing-initialize-search-index-item-by-id", "Rebuilds the index for a given tree with the specified root item by id and index name. Supports wildcard filtering for the index name.", {
|
|
25445
|
+
id: stringType()
|
|
25446
|
+
.describe("The ID of the item to rebuild the index for"),
|
|
25447
|
+
path: stringType()
|
|
25448
|
+
.default("master:")
|
|
25449
|
+
.optional(),
|
|
25450
|
+
indexName: stringType()
|
|
25451
|
+
.default("sitecore_*_index")
|
|
25452
|
+
.optional()
|
|
25453
|
+
.describe("The name of the index to rebuild"),
|
|
25454
|
+
}, async (params) => {
|
|
25455
|
+
const command = `
|
|
25456
|
+
$item = Get-Item -Id ${params.id} -Path ${params.path};
|
|
25457
|
+
$indexName = "${params.indexName}";
|
|
25458
|
+
Initialize-SearchIndexItem -Item $item -Name $indexName
|
|
25459
|
+
`.replaceAll(/[\n]+/g, "");
|
|
25460
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
|
|
25461
|
+
});
|
|
25462
|
+
}
|
|
25463
|
+
|
|
25464
|
+
function initializeSearchIndexingItemByPathPowerShellTool(server, config) {
|
|
25465
|
+
server.tool("indexing-initialize-search-index-item-by-path", "Rebuilds the index for a given tree with the specified root item by path and index name. Supports wildcard filtering for the index name.", {
|
|
25466
|
+
path: stringType()
|
|
25467
|
+
.describe("The path of the item to rebuild the index for"),
|
|
25468
|
+
indexName: stringType()
|
|
25469
|
+
.default("sitecore_*_index")
|
|
25470
|
+
.optional()
|
|
25471
|
+
.describe("The name of the index to rebuild"),
|
|
25472
|
+
}, async (params) => {
|
|
25473
|
+
const command = `
|
|
25474
|
+
$item = Get-Item -Path ${params.path};
|
|
25475
|
+
$indexName = "${params.indexName}";
|
|
25476
|
+
Initialize-SearchIndexItem -Item $item -Name $indexName
|
|
25477
|
+
`.replaceAll(/[\n]+/g, "");
|
|
25478
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
|
|
25479
|
+
});
|
|
25480
|
+
}
|
|
25481
|
+
|
|
25482
|
+
function removeSearchIndexItemByIdPowerShellTool(server, config) {
|
|
25483
|
+
server.tool("indexing-remove-search-index-item-by-id", "Removes the item with the specified ID from the search index. Supports wildcard filtering for the index name.", {
|
|
25484
|
+
id: stringType()
|
|
25485
|
+
.describe("The ID of the item to remove from the index"),
|
|
25486
|
+
path: stringType()
|
|
25487
|
+
.default("master:")
|
|
25488
|
+
.optional(),
|
|
25489
|
+
indexName: stringType()
|
|
25490
|
+
.default("sitecore_*_index")
|
|
25491
|
+
.optional()
|
|
25492
|
+
.describe("The name of the index to remove the item from"),
|
|
25493
|
+
}, async (params) => {
|
|
25494
|
+
const command = `
|
|
25495
|
+
$item = Get-Item -Id ${params.id} -Path ${params.path};
|
|
25496
|
+
$indexName = "${params.indexName}";
|
|
25497
|
+
Remove-SearchIndexItem -Item $item -Name $indexName
|
|
25498
|
+
`.replaceAll(/[\n]+/g, "");
|
|
25499
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
|
|
25500
|
+
});
|
|
25501
|
+
}
|
|
25502
|
+
|
|
25503
|
+
function removeSearchIndexItemByPathPowerShellTool(server, config) {
|
|
25504
|
+
server.tool("indexing-remove-search-index-item-by-path", "Removes the item with the specified path from the search index. Supports wildcard filtering for the index name.", {
|
|
25505
|
+
path: stringType()
|
|
25506
|
+
.describe("The path of the item to remove from the index"),
|
|
25507
|
+
indexName: stringType()
|
|
25508
|
+
.default("sitecore_*_index")
|
|
25509
|
+
.optional()
|
|
25510
|
+
.describe("The name of the index to remove the item from"),
|
|
25511
|
+
}, async (params) => {
|
|
25512
|
+
const command = `
|
|
25513
|
+
$item = Get-Item -Path ${params.path};
|
|
25514
|
+
$indexName = "${params.indexName}";
|
|
25515
|
+
Remove-SearchIndexItem -Item $item -Name $indexName
|
|
25516
|
+
`.replaceAll(/[\n]+/g, "");
|
|
25517
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
|
|
25518
|
+
});
|
|
25519
|
+
}
|
|
25520
|
+
|
|
25439
25521
|
async function register(array, server, config) {
|
|
25440
25522
|
for (const register of array) {
|
|
25441
25523
|
await register(server, config);
|
|
@@ -25486,13 +25568,19 @@ async function registerAll(server, config) {
|
|
|
25486
25568
|
addItemAclPowerShellTool,
|
|
25487
25569
|
clearItemAclPowerShellTool,
|
|
25488
25570
|
//Composite Security PowerShell Tools
|
|
25489
|
-
|
|
25571
|
+
setItemAclByIdPowerShellTool,
|
|
25572
|
+
setItemAclByPathPowerShellTool,
|
|
25490
25573
|
//Provider
|
|
25491
25574
|
getItemPowerShellTool,
|
|
25492
25575
|
//Indexing PowerShell Tools
|
|
25493
25576
|
initializeSearchIndexPowerShellTool,
|
|
25494
25577
|
getSearchIndexPowerShellTool,
|
|
25495
25578
|
findItemPowerShellTool,
|
|
25579
|
+
//Composite Indexing PowerShell Tools
|
|
25580
|
+
initializeSearchIndexingItemByIdPowerShellTool,
|
|
25581
|
+
initializeSearchIndexingItemByPathPowerShellTool,
|
|
25582
|
+
removeSearchIndexItemByIdPowerShellTool,
|
|
25583
|
+
removeSearchIndexItemByPathPowerShellTool,
|
|
25496
25584
|
], server, config);
|
|
25497
25585
|
}
|
|
25498
25586
|
|
package/dist/register.js
CHANGED
|
@@ -37,10 +37,15 @@ import { testItemAclPowerShellTool } from "./tools/powershell/simple/security/te
|
|
|
37
37
|
import { addItemAclPowerShellTool } from "./tools/powershell/simple/security/add-item-acl.js";
|
|
38
38
|
import { clearItemAclPowerShellTool } from "./tools/powershell/simple/security/clear-item-acl.js";
|
|
39
39
|
import { getItemPowerShellTool } from "./tools/powershell/simple/provider/get-item.js";
|
|
40
|
-
import { setItemAclPowerShellTool } from "./tools/powershell/composite/security/set-item-acl.js";
|
|
41
40
|
import { initializeSearchIndexPowerShellTool } from "./tools/powershell/simple/indexing/initialize-search-index.js";
|
|
42
41
|
import { getSearchIndexPowerShellTool } from "./tools/powershell/simple/indexing/get-search-index.js";
|
|
43
42
|
import { findItemPowerShellTool } from "./tools/powershell/simple/indexing/find-item.js";
|
|
43
|
+
import { setItemAclByIdPowerShellTool } from "./tools/powershell/composite/security/set-item-acl-by-id.js";
|
|
44
|
+
import { setItemAclByPathPowerShellTool } from "./tools/powershell/composite/security/set-item-acl-by-path.js";
|
|
45
|
+
import { initializeSearchIndexingItemByIdPowerShellTool } from "./tools/powershell/composite/indexing/initialialize-search-indexing-item-by-id.js";
|
|
46
|
+
import { initializeSearchIndexingItemByPathPowerShellTool } from "./tools/powershell/composite/indexing/initialialize-search-indexing-item-by-path.js";
|
|
47
|
+
import { removeSearchIndexItemByIdPowerShellTool } from "./tools/powershell/composite/indexing/remove-search-index-item-by-id.js";
|
|
48
|
+
import { removeSearchIndexItemByPathPowerShellTool } from "./tools/powershell/composite/indexing/remove-search-index-item-by-path.js";
|
|
44
49
|
export async function register(array, server, config) {
|
|
45
50
|
for (const register of array) {
|
|
46
51
|
await register(server, config);
|
|
@@ -91,13 +96,19 @@ export async function registerAll(server, config) {
|
|
|
91
96
|
addItemAclPowerShellTool,
|
|
92
97
|
clearItemAclPowerShellTool,
|
|
93
98
|
//Composite Security PowerShell Tools
|
|
94
|
-
|
|
99
|
+
setItemAclByIdPowerShellTool,
|
|
100
|
+
setItemAclByPathPowerShellTool,
|
|
95
101
|
//Provider
|
|
96
102
|
getItemPowerShellTool,
|
|
97
103
|
//Indexing PowerShell Tools
|
|
98
104
|
initializeSearchIndexPowerShellTool,
|
|
99
105
|
getSearchIndexPowerShellTool,
|
|
100
106
|
findItemPowerShellTool,
|
|
107
|
+
//Composite Indexing PowerShell Tools
|
|
108
|
+
initializeSearchIndexingItemByIdPowerShellTool,
|
|
109
|
+
initializeSearchIndexingItemByPathPowerShellTool,
|
|
110
|
+
removeSearchIndexItemByIdPowerShellTool,
|
|
111
|
+
removeSearchIndexItemByPathPowerShellTool,
|
|
101
112
|
], server, config);
|
|
102
113
|
}
|
|
103
114
|
//# sourceMappingURL=register.js.map
|
package/dist/register.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,yEAAyE,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kFAAkF,CAAC;AACvH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iFAAiF,CAAC;AACpH,OAAO,EAAE,cAAc,EAAE,MAAM,4EAA4E,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAE,MAAM,0EAA0E,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,4EAA4E,CAAC;AAC5G,OAAO,EAAE,eAAe,EAAE,MAAM,6EAA6E,CAAC;AAC9G,OAAO,EAAE,kBAAkB,EAAE,MAAM,iFAAiF,CAAC;AACrH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kFAAkF,CAAC;AACvH,OAAO,EAAE,sBAAsB,EAAE,MAAM,wFAAwF,CAAC;AAChI,OAAO,EAAE,gBAAgB,EAAE,MAAM,iFAAiF,CAAC;AACnH,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,6BAA6B,EAAE,MAAM,yDAAyD,CAAC;AACxG,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,uDAAuD,CAAC;AACpG,OAAO,EAAE,2BAA2B,EAAE,MAAM,uDAAuD,CAAC;AACpG,OAAO,EAAE,8BAA8B,EAAE,MAAM,0DAA0D,CAAC;AAC1G,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,sDAAsD,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/tools/powershell/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/tools/powershell/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAExE,MAAM,gBAAgB;IACV,SAAS,CAAS;IAClB,QAAQ,CAAS;IACjB,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,WAAW,GAAkB,IAAI,CAAC;IAE1C,YAAY,SAAiB,EAAE,QAAgB,EAAE,QAAgB,EAAE,SAAiB,UAAU;QAC1F,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5F,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,aAAkC,EAAE;QACpE,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,+BAA+B,IAAI,2CAA2C,CAAC;QAC5G,MAAM,OAAO,GAAG;YACZ,eAAe,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YACvC,cAAc,EAAE,kBAAkB;SACrC,CAAC;QAEF,IAAI,oBAAoB,GAAG,MAAM,CAAC;QAClC,IAAI,UAAU,EAAE,CAAC;YACb,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACjC,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;oBAC/B,oBAAoB,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7C,CAAC;qBACI,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;oBAC5C,oBAAoB,IAAI,KAAK,SAAS,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBACpF,CAAC;qBAAM,CAAC;oBACJ,oBAAoB,IAAI,KAAK,SAAS,KAAK,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC;gBACxE,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,oBAAoB,UAAU,IAAI,QAAQ,CAAC;QAE3D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,IAAI;SAEb,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,aAAkC,EAAE;QACxE,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACxD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI;iBAC3B,IAAI,CAAC,GAAG,CAAC;iBACT,IAAI,CAAC,GAAG,CAAC;iBACT,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { safeMcpResponse } from "../../../../helper.js";
|
|
3
|
+
import { runGenericPowershellCommand } from "../../simple/generic.js";
|
|
4
|
+
export function initializeSearchIndexingItemByIdPowerShellTool(server, config) {
|
|
5
|
+
server.tool("indexing-initialize-search-index-item-by-id", "Rebuilds the index for a given tree with the specified root item by id and index name. Supports wildcard filtering for the index name.", {
|
|
6
|
+
id: z.string()
|
|
7
|
+
.describe("The ID of the item to rebuild the index for"),
|
|
8
|
+
path: z.string()
|
|
9
|
+
.default("master:")
|
|
10
|
+
.optional(),
|
|
11
|
+
indexName: z.string()
|
|
12
|
+
.default("sitecore_*_index")
|
|
13
|
+
.optional()
|
|
14
|
+
.describe("The name of the index to rebuild"),
|
|
15
|
+
}, async (params) => {
|
|
16
|
+
const command = `
|
|
17
|
+
$item = Get-Item -Id ${params.id} -Path ${params.path};
|
|
18
|
+
$indexName = "${params.indexName}";
|
|
19
|
+
Initialize-SearchIndexItem -Item $item -Name $indexName
|
|
20
|
+
`.replaceAll(/[\n]+/g, "");
|
|
21
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=initialialize-search-indexing-item-by-id.js.map
|
package/dist/tools/powershell/composite/indexing/initialialize-search-indexing-item-by-id.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initialialize-search-indexing-item-by-id.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/composite/indexing/initialialize-search-indexing-item-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,yBAAyB,CAAC;AAEtE,MAAM,UAAU,8CAA8C,CAAC,MAAiB,EAAE,MAAc;IAC5F,MAAM,CAAC,IAAI,CACP,6CAA6C,EAC7C,wIAAwI,EACxI;QACI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;aACT,QAAQ,CAAC,6CAA6C,CAAC;QAC5D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACX,OAAO,CAAC,SAAS,CAAC;aAClB,QAAQ,EAAE;QACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;aAChB,OAAO,CAAC,kBAAkB,CAAC;aAC3B,QAAQ,EAAE;aACV,QAAQ,CAAC,kCAAkC,CAAC;KACpD,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,OAAO,GAAG;uCACW,MAAM,CAAC,EAAE,UAAU,MAAM,CAAC,IAAI;gCACrC,MAAM,CAAC,SAAS;;aAEnC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAE3B,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC,CACJ,CAAC;AACN,CAAC"}
|
package/dist/tools/powershell/composite/indexing/initialialize-search-indexing-item-by-path.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { safeMcpResponse } from "../../../../helper.js";
|
|
3
|
+
import { runGenericPowershellCommand } from "../../simple/generic.js";
|
|
4
|
+
export function initializeSearchIndexingItemByPathPowerShellTool(server, config) {
|
|
5
|
+
server.tool("indexing-initialize-search-index-item-by-path", "Rebuilds the index for a given tree with the specified root item by path and index name. Supports wildcard filtering for the index name.", {
|
|
6
|
+
path: z.string()
|
|
7
|
+
.describe("The path of the item to rebuild the index for"),
|
|
8
|
+
indexName: z.string()
|
|
9
|
+
.default("sitecore_*_index")
|
|
10
|
+
.optional()
|
|
11
|
+
.describe("The name of the index to rebuild"),
|
|
12
|
+
}, async (params) => {
|
|
13
|
+
const command = `
|
|
14
|
+
$item = Get-Item -Path ${params.path};
|
|
15
|
+
$indexName = "${params.indexName}";
|
|
16
|
+
Initialize-SearchIndexItem -Item $item -Name $indexName
|
|
17
|
+
`.replaceAll(/[\n]+/g, "");
|
|
18
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=initialialize-search-indexing-item-by-path.js.map
|
package/dist/tools/powershell/composite/indexing/initialialize-search-indexing-item-by-path.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initialialize-search-indexing-item-by-path.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/composite/indexing/initialialize-search-indexing-item-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,yBAAyB,CAAC;AAEtE,MAAM,UAAU,gDAAgD,CAAC,MAAiB,EAAE,MAAc;IAC9F,MAAM,CAAC,IAAI,CACP,+CAA+C,EAC/C,0IAA0I,EAC1I;QACI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACX,QAAQ,CAAC,+CAA+C,CAAC;QAC9D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;aAChB,OAAO,CAAC,kBAAkB,CAAC;aAC3B,QAAQ,EAAE;aACV,QAAQ,CAAC,kCAAkC,CAAC;KACpD,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,OAAO,GAAG;yCACa,MAAM,CAAC,IAAI;gCACpB,MAAM,CAAC,SAAS;;aAEnC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAE3B,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC,CACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { safeMcpResponse } from "../../../../helper.js";
|
|
3
|
+
import { runGenericPowershellCommand } from "../../simple/generic.js";
|
|
4
|
+
export function removeSearchIndexItemByIdPowerShellTool(server, config) {
|
|
5
|
+
server.tool("indexing-remove-search-index-item-by-id", "Removes the item with the specified ID from the search index. Supports wildcard filtering for the index name.", {
|
|
6
|
+
id: z.string()
|
|
7
|
+
.describe("The ID of the item to remove from the index"),
|
|
8
|
+
path: z.string()
|
|
9
|
+
.default("master:")
|
|
10
|
+
.optional(),
|
|
11
|
+
indexName: z.string()
|
|
12
|
+
.default("sitecore_*_index")
|
|
13
|
+
.optional()
|
|
14
|
+
.describe("The name of the index to remove the item from"),
|
|
15
|
+
}, async (params) => {
|
|
16
|
+
const command = `
|
|
17
|
+
$item = Get-Item -Id ${params.id} -Path ${params.path};
|
|
18
|
+
$indexName = "${params.indexName}";
|
|
19
|
+
Remove-SearchIndexItem -Item $item -Name $indexName
|
|
20
|
+
`.replaceAll(/[\n]+/g, "");
|
|
21
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=remove-search-index-item-by-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-search-index-item-by-id.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/composite/indexing/remove-search-index-item-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,yBAAyB,CAAC;AAEtE,MAAM,UAAU,uCAAuC,CAAC,MAAiB,EAAE,MAAc;IACrF,MAAM,CAAC,IAAI,CACP,yCAAyC,EACzC,+GAA+G,EAC/G;QACI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;aACT,QAAQ,CAAC,6CAA6C,CAAC;QAC5D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACX,OAAO,CAAC,SAAS,CAAC;aAClB,QAAQ,EAAE;QACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;aAChB,OAAO,CAAC,kBAAkB,CAAC;aAC3B,QAAQ,EAAE;aACV,QAAQ,CAAC,+CAA+C,CAAC;KACjE,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,OAAO,GAAG;uCACW,MAAM,CAAC,EAAE,UAAU,MAAM,CAAC,IAAI;gCACrC,MAAM,CAAC,SAAS;;aAEnC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAE3B,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC,CACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { safeMcpResponse } from "../../../../helper.js";
|
|
3
|
+
import { runGenericPowershellCommand } from "../../simple/generic.js";
|
|
4
|
+
export function removeSearchIndexItemByPathPowerShellTool(server, config) {
|
|
5
|
+
server.tool("indexing-remove-search-index-item-by-path", "Removes the item with the specified path from the search index. Supports wildcard filtering for the index name.", {
|
|
6
|
+
path: z.string()
|
|
7
|
+
.describe("The path of the item to remove from the index"),
|
|
8
|
+
indexName: z.string()
|
|
9
|
+
.default("sitecore_*_index")
|
|
10
|
+
.optional()
|
|
11
|
+
.describe("The name of the index to remove the item from"),
|
|
12
|
+
}, async (params) => {
|
|
13
|
+
const command = `
|
|
14
|
+
$item = Get-Item -Path ${params.path};
|
|
15
|
+
$indexName = "${params.indexName}";
|
|
16
|
+
Remove-SearchIndexItem -Item $item -Name $indexName
|
|
17
|
+
`.replaceAll(/[\n]+/g, "");
|
|
18
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=remove-search-index-item-by-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-search-index-item-by-path.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/composite/indexing/remove-search-index-item-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,yBAAyB,CAAC;AAEtE,MAAM,UAAU,yCAAyC,CAAC,MAAiB,EAAE,MAAc;IACvF,MAAM,CAAC,IAAI,CACP,2CAA2C,EAC3C,iHAAiH,EACjH;QACI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACX,QAAQ,CAAC,+CAA+C,CAAC;QAC9D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;aAChB,OAAO,CAAC,kBAAkB,CAAC;aAC3B,QAAQ,EAAE;aACV,QAAQ,CAAC,+CAA+C,CAAC;KACjE,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,OAAO,GAAG;yCACa,MAAM,CAAC,IAAI;gCACpB,MAAM,CAAC,SAAS;;aAEnC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAE3B,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC,CACJ,CAAC;AACN,CAAC"}
|
package/dist/tools/powershell/composite/security/{set-item-acl.d.ts → set-item-acl-by-id.d.ts}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp";
|
|
2
2
|
import type { Config } from "../../../../config.js";
|
|
3
|
-
export declare function
|
|
3
|
+
export declare function setItemAclByIdPowerShellTool(server: McpServer, config: Config): void;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { safeMcpResponse } from "../../../../helper.js";
|
|
3
|
+
import { prepareArgsString } from "../../utils.js";
|
|
4
|
+
import { AccessRights } from "../../simple/security/access-rights.js";
|
|
5
|
+
import { runGenericPowershellCommand } from "../../simple/generic.js";
|
|
6
|
+
export function setItemAclByIdPowerShellTool(server, config) {
|
|
7
|
+
server.tool("security-set-item-acl-by-id", "Sets an access control entry to a Sitecore item by its ID.", {
|
|
8
|
+
id: z.string()
|
|
9
|
+
.describe("The ID of the item to add ACL entry for"),
|
|
10
|
+
path: z.string()
|
|
11
|
+
.default("master:")
|
|
12
|
+
.optional(),
|
|
13
|
+
identity: z.string()
|
|
14
|
+
.describe("The identity of the account (user or role) to grant permissions to (e.g. 'sitecore\\admin')"),
|
|
15
|
+
accessRight: z.enum(AccessRights)
|
|
16
|
+
.describe("The access right to grant (e.g. 'item:read', 'item:write')"),
|
|
17
|
+
propagationType: z.enum(["Descendants", "Children", "Entity"]).default("Entity")
|
|
18
|
+
.describe("The propagation type for the access right"),
|
|
19
|
+
securityPermission: z.enum(["AllowAccess", "DenyAccess"]).default("AllowAccess")
|
|
20
|
+
.describe("Whether to allow or deny the specified access right"),
|
|
21
|
+
}, async (params) => {
|
|
22
|
+
const parameters1Obj = {};
|
|
23
|
+
parameters1Obj["Identity"] = params.identity;
|
|
24
|
+
parameters1Obj["AccessRight"] = params.accessRight;
|
|
25
|
+
parameters1Obj["PropagationType"] = params.propagationType;
|
|
26
|
+
parameters1Obj["SecurityPermission"] = params.securityPermission;
|
|
27
|
+
const parameters1 = prepareArgsString(parameters1Obj);
|
|
28
|
+
const command = `
|
|
29
|
+
$acl = New-ItemAcl ${parameters1};
|
|
30
|
+
Get-Item -Id ${params.id} -Path ${params.path} | Set-ItemAcl -AccessRules $acl
|
|
31
|
+
`.replaceAll(/[\n]+/g, "");
|
|
32
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=set-item-acl-by-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-item-acl-by-id.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/composite/security/set-item-acl-by-id.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAEtE,MAAM,UAAU,4BAA4B,CAAC,MAAiB,EAAE,MAAc;IAC1E,MAAM,CAAC,IAAI,CACP,6BAA6B,EAC7B,4DAA4D,EAC5D;QACI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;aACT,QAAQ,CAAC,yCAAyC,CAAC;QACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACX,OAAO,CAAC,SAAS,CAAC;aAClB,QAAQ,EAAE;QACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;aACf,QAAQ,CAAC,6FAA6F,CAAC;QAC5G,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,YAAqC,CAAC;aACrD,QAAQ,CAAC,4DAA4D,CAAC;QAC3E,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;aAC3E,QAAQ,CAAC,2CAA2C,CAAC;QAC1D,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;aAC3E,QAAQ,CAAC,qDAAqD,CAAC;KACvE,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,cAAc,GAAQ,EAAE,CAAC;QAE/B,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC7C,cAAc,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;QACnD,cAAc,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC;QAC3D,cAAc,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAEjE,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG;qCACS,WAAW;+BACjB,MAAM,CAAC,EAAE,UAAU,MAAM,CAAC,IAAI;aAChD,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAE3B,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC,CACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { safeMcpResponse } from "../../../../helper.js";
|
|
3
|
+
import { prepareArgsString } from "../../utils.js";
|
|
4
|
+
import { AccessRights } from "../../simple/security/access-rights.js";
|
|
5
|
+
import { runGenericPowershellCommand } from "../../simple/generic.js";
|
|
6
|
+
export function setItemAclByPathPowerShellTool(server, config) {
|
|
7
|
+
server.tool("security-set-item-acl-by-path", "Sets an access control entry to a Sitecore item by its path.", {
|
|
8
|
+
path: z.string()
|
|
9
|
+
.describe("The path of the item to add ACL entry for"),
|
|
10
|
+
identity: z.string()
|
|
11
|
+
.describe("The identity of the account (user or role) to grant permissions to (e.g. 'sitecore\\admin')"),
|
|
12
|
+
accessRight: z.enum(AccessRights)
|
|
13
|
+
.describe("The access right to grant (e.g. 'item:read', 'item:write')"),
|
|
14
|
+
propagationType: z.enum(["Descendants", "Children", "Entity"]).default("Entity")
|
|
15
|
+
.describe("The propagation type for the access right"),
|
|
16
|
+
securityPermission: z.enum(["AllowAccess", "DenyAccess"]).default("AllowAccess")
|
|
17
|
+
.describe("Whether to allow or deny the specified access right"),
|
|
18
|
+
}, async (params) => {
|
|
19
|
+
const parameters1Obj = {};
|
|
20
|
+
parameters1Obj["Identity"] = params.identity;
|
|
21
|
+
parameters1Obj["AccessRight"] = params.accessRight;
|
|
22
|
+
parameters1Obj["PropagationType"] = params.propagationType;
|
|
23
|
+
parameters1Obj["SecurityPermission"] = params.securityPermission;
|
|
24
|
+
const parameters1 = prepareArgsString(parameters1Obj);
|
|
25
|
+
const command = `
|
|
26
|
+
$acl = New-ItemAcl ${parameters1};
|
|
27
|
+
Get-Item -Path "${params.path}" | Set-ItemAcl -AccessRules $acl
|
|
28
|
+
`.replaceAll(/[\n]+/g, "");
|
|
29
|
+
return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=set-item-acl-by-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-item-acl-by-path.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/composite/security/set-item-acl-by-path.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAEtE,MAAM,UAAU,8BAA8B,CAAC,MAAiB,EAAE,MAAc;IAC5E,MAAM,CAAC,IAAI,CACP,+BAA+B,EAC/B,8DAA8D,EAC9D;QACI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACX,QAAQ,CAAC,2CAA2C,CAAC;QAC1D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;aACf,QAAQ,CAAC,6FAA6F,CAAC;QAC5G,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,YAAqC,CAAC;aACrD,QAAQ,CAAC,4DAA4D,CAAC;QAC3E,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;aAC3E,QAAQ,CAAC,2CAA2C,CAAC;QAC1D,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;aAC3E,QAAQ,CAAC,qDAAqD,CAAC;KACvE,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,cAAc,GAAQ,EAAE,CAAC;QAC/B,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC7C,cAAc,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;QACnD,cAAc,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC;QAC3D,cAAc,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAEjE,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG;qCACS,WAAW;kCACd,MAAM,CAAC,IAAI;aAChC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAE3B,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC,CACJ,CAAC;AACN,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { safeMcpResponse } from "../../../../helper.js";
|
|
3
|
-
import { prepareArgsString } from "../../utils.js";
|
|
4
|
-
import { AccessRights } from "../../simple/security/access-rights.js";
|
|
5
|
-
import { runGenericPowershellCommand } from "../../simple/generic.js";
|
|
6
|
-
// This security tool doesn't have sense as it could be replaced with Add-ItemAcl+Clear-ItemAcl tools.
|
|
7
|
-
// It is kept for testing "composite" tools.
|
|
8
|
-
export function setItemAclPowerShellTool(server, config) {
|
|
9
|
-
server.tool("security-set-item-acl-by-id", "Sets an access control entry to a Sitecore item by its ID.", {
|
|
10
|
-
id: z.string()
|
|
11
|
-
.describe("The ID of the item to add ACL entry for"),
|
|
12
|
-
identity: z.string()
|
|
13
|
-
.describe("The identity of the account (user or role) to grant permissions to (e.g. 'sitecore\\admin')"),
|
|
14
|
-
accessRight: z.enum(AccessRights)
|
|
15
|
-
.describe("The access right to grant (e.g. 'item:read', 'item:write')"),
|
|
16
|
-
propagationType: z.enum(["Descendants", "Children", "Entity"]).default("Entity")
|
|
17
|
-
.describe("The propagation type for the access right"),
|
|
18
|
-
securityPermission: z.enum(["AllowAccess", "DenyAccess"]).default("AllowAccess")
|
|
19
|
-
.describe("Whether to allow or deny the specified access right"),
|
|
20
|
-
}, async (params) => {
|
|
21
|
-
const parameters1Obj = {};
|
|
22
|
-
parameters1Obj["Identity"] = params.identity;
|
|
23
|
-
parameters1Obj["AccessRight"] = params.accessRight;
|
|
24
|
-
parameters1Obj["PropagationType"] = params.propagationType;
|
|
25
|
-
parameters1Obj["SecurityPermission"] = params.securityPermission;
|
|
26
|
-
const parameters1 = prepareArgsString(parameters1Obj);
|
|
27
|
-
const command = `
|
|
28
|
-
$acl = New-ItemAcl ${parameters1}
|
|
29
|
-
Get-Item -Id ${params.id} | Set-ItemAcl -AccessRules $acl
|
|
30
|
-
`.replaceAll(/[\n]+/g, "");
|
|
31
|
-
;
|
|
32
|
-
return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
|
|
33
|
-
});
|
|
34
|
-
server.tool("security-set-item-acl-by-path", "Sets an access control entry to a Sitecore item by its path.", {
|
|
35
|
-
path: z.string()
|
|
36
|
-
.describe("The path of the item to add ACL entry for"),
|
|
37
|
-
identity: z.string()
|
|
38
|
-
.describe("The identity of the account (user or role) to grant permissions to (e.g. 'sitecore\\admin')"),
|
|
39
|
-
accessRight: z.enum(AccessRights)
|
|
40
|
-
.describe("The access right to grant (e.g. 'item:read', 'item:write')"),
|
|
41
|
-
propagationType: z.enum(["Descendants", "Children", "Entity"]).default("Entity")
|
|
42
|
-
.describe("The propagation type for the access right"),
|
|
43
|
-
securityPermission: z.enum(["AllowAccess", "DenyAccess"]).default("AllowAccess")
|
|
44
|
-
.describe("Whether to allow or deny the specified access right"),
|
|
45
|
-
}, async (params) => {
|
|
46
|
-
const parameters1Obj = {};
|
|
47
|
-
parameters1Obj["Identity"] = params.identity;
|
|
48
|
-
parameters1Obj["AccessRight"] = params.accessRight;
|
|
49
|
-
parameters1Obj["PropagationType"] = params.propagationType;
|
|
50
|
-
parameters1Obj["SecurityPermission"] = params.securityPermission;
|
|
51
|
-
const parameters1 = prepareArgsString(parameters1Obj);
|
|
52
|
-
const command = `
|
|
53
|
-
$acl = New-ItemAcl ${parameters1}
|
|
54
|
-
Get-Item -Path "${params.path}" | Set-ItemAcl -AccessRules $acl
|
|
55
|
-
`.replaceAll(/[\n]+/g, "");
|
|
56
|
-
return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=set-item-acl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"set-item-acl.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/composite/security/set-item-acl.ts"],"names":[],"mappings":"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"}
|