@umbraco-cms/mcp-dev 17.3.6 → 17.4.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.
@@ -123,6 +123,15 @@ var getUmbracoManagementAPI = () => {
123
123
  options
124
124
  );
125
125
  };
126
+ const getDataTypeByIdSchema = (id, options) => {
127
+ return UmbracoManagementClient(
128
+ {
129
+ url: `/umbraco/management/api/v1/data-type/${id}/schema`,
130
+ method: "GET"
131
+ },
132
+ options
133
+ );
134
+ };
126
135
  const getDataTypeBatch = (params, options) => {
127
136
  return UmbracoManagementClient(
128
137
  {
@@ -182,6 +191,16 @@ var getUmbracoManagementAPI = () => {
182
191
  options
183
192
  );
184
193
  };
194
+ const getDataTypeSchemasBatch = (params, options) => {
195
+ return UmbracoManagementClient(
196
+ {
197
+ url: `/umbraco/management/api/v1/data-type/schemas/batch`,
198
+ method: "GET",
199
+ params
200
+ },
201
+ options
202
+ );
203
+ };
185
204
  const getFilterDataType = (params, options) => {
186
205
  return UmbracoManagementClient(
187
206
  {
@@ -435,6 +454,16 @@ var getUmbracoManagementAPI = () => {
435
454
  options
436
455
  );
437
456
  };
457
+ const getDocumentBlueprintByIdAuditLog = (id, params, options) => {
458
+ return UmbracoManagementClient(
459
+ {
460
+ url: `/umbraco/management/api/v1/document-blueprint/${id}/audit-log`,
461
+ method: "GET",
462
+ params
463
+ },
464
+ options
465
+ );
466
+ };
438
467
  const putDocumentBlueprintByIdMove = (id, moveDocumentBlueprintRequestModel, options) => {
439
468
  return UmbracoManagementClient(
440
469
  {
@@ -677,6 +706,15 @@ var getUmbracoManagementAPI = () => {
677
706
  options
678
707
  );
679
708
  };
709
+ const getDocumentTypeByIdSchema = (id, options) => {
710
+ return UmbracoManagementClient(
711
+ {
712
+ url: `/umbraco/management/api/v1/document-type/${id}/schema`,
713
+ method: "GET"
714
+ },
715
+ options
716
+ );
717
+ };
680
718
  const postDocumentTypeByIdTemplate = (id, createDocumentTypeTemplateRequestModel, options) => {
681
719
  return UmbracoManagementClient(
682
720
  {
@@ -1039,6 +1077,17 @@ var getUmbracoManagementAPI = () => {
1039
1077
  options
1040
1078
  );
1041
1079
  };
1080
+ const patchDocumentByIdPatch = (id, patchDocumentRequestModel, options) => {
1081
+ return UmbracoManagementClient(
1082
+ {
1083
+ url: `/umbraco/management/api/v1/document/${id}/patch`,
1084
+ method: "PATCH",
1085
+ headers: { "Content-Type": "application/json-patch+json" },
1086
+ data: patchDocumentRequestModel
1087
+ },
1088
+ options
1089
+ );
1090
+ };
1042
1091
  const getDocumentByIdPreviewUrl = (id, params, options) => {
1043
1092
  return UmbracoManagementClient(
1044
1093
  {
@@ -1865,6 +1914,15 @@ var getUmbracoManagementAPI = () => {
1865
1914
  options
1866
1915
  );
1867
1916
  };
1917
+ const getMediaTypeByIdSchema = (id, options) => {
1918
+ return UmbracoManagementClient(
1919
+ {
1920
+ url: `/umbraco/management/api/v1/media-type/${id}/schema`,
1921
+ method: "GET"
1922
+ },
1923
+ options
1924
+ );
1925
+ };
1868
1926
  const getMediaTypeAllowedAtRoot = (params, options) => {
1869
1927
  return UmbracoManagementClient(
1870
1928
  {
@@ -2498,6 +2556,25 @@ var getUmbracoManagementAPI = () => {
2498
2556
  options
2499
2557
  );
2500
2558
  };
2559
+ const getMemberTypeByIdSchema = (id, options) => {
2560
+ return UmbracoManagementClient(
2561
+ {
2562
+ url: `/umbraco/management/api/v1/member-type/${id}/schema`,
2563
+ method: "GET"
2564
+ },
2565
+ options
2566
+ );
2567
+ };
2568
+ const getMemberTypeAllowedAtRoot = (params, options) => {
2569
+ return UmbracoManagementClient(
2570
+ {
2571
+ url: `/umbraco/management/api/v1/member-type/allowed-at-root`,
2572
+ method: "GET",
2573
+ params
2574
+ },
2575
+ options
2576
+ );
2577
+ };
2501
2578
  const postMemberTypeAvailableCompositions = (memberTypeCompositionRequestModel, options) => {
2502
2579
  return UmbracoManagementClient(
2503
2580
  {
@@ -4464,7 +4541,7 @@ var getUmbracoManagementAPI = () => {
4464
4541
  options
4465
4542
  );
4466
4543
  };
4467
- return { getCulture, postDataType, getDataTypeById, deleteDataTypeById, putDataTypeById, postDataTypeByIdCopy, getDataTypeByIdIsUsed, putDataTypeByIdMove, getDataTypeByIdReferencedBy, getDataTypeBatch, getDataTypeConfiguration, postDataTypeFolder, getDataTypeFolderById, deleteDataTypeFolderById, putDataTypeFolderById, getFilterDataType, getItemDataType, getItemDataTypeAncestors, getItemDataTypeSearch, getTreeDataTypeAncestors, getTreeDataTypeChildren, getTreeDataTypeRoot, getTreeDataTypeSearch, getTreeDataTypeSiblings, getDictionary, postDictionary, getDictionaryById, deleteDictionaryById, putDictionaryById, getDictionaryByIdExport, putDictionaryByIdMove, postDictionaryImport, getItemDictionary, getTreeDictionaryAncestors, getTreeDictionaryChildren, getTreeDictionaryRoot, postDocumentBlueprint, getDocumentBlueprintById, deleteDocumentBlueprintById, putDocumentBlueprintById, putDocumentBlueprintByIdMove, getDocumentBlueprintByIdScaffold, postDocumentBlueprintFolder, getDocumentBlueprintFolderById, deleteDocumentBlueprintFolderById, putDocumentBlueprintFolderById, postDocumentBlueprintFromDocument, getItemDocumentBlueprint, getTreeDocumentBlueprintAncestors, getTreeDocumentBlueprintChildren, getTreeDocumentBlueprintRoot, getTreeDocumentBlueprintSiblings, postDocumentType, getDocumentTypeById, deleteDocumentTypeById, putDocumentTypeById, getDocumentTypeByIdAllowedChildren, getDocumentTypeByIdAllowedParents, getDocumentTypeByIdBlueprint, getDocumentTypeByIdCompositionReferences, postDocumentTypeByIdCopy, getDocumentTypeByIdExport, putDocumentTypeByIdImport, putDocumentTypeByIdMove, postDocumentTypeByIdTemplate, getDocumentTypeAllowedAtRoot, postDocumentTypeAvailableCompositions, getDocumentTypeBatch, getDocumentTypeConfiguration, postDocumentTypeFolder, getDocumentTypeFolderById, deleteDocumentTypeFolderById, putDocumentTypeFolderById, postDocumentTypeImport, getItemDocumentType, getItemDocumentTypeAncestors, getItemDocumentTypeSearch, getTreeDocumentTypeAncestors, getTreeDocumentTypeChildren, getTreeDocumentTypeRoot, getTreeDocumentTypeSearch, getTreeDocumentTypeSiblings, getDocumentVersion, getDocumentVersionById, putDocumentVersionByIdPreventCleanup, postDocumentVersionByIdRollback, getCollectionDocumentById, postDocument, getDocumentById, deleteDocumentById, putDocumentById, getDocumentByIdAuditLog, getDocumentByIdAvailableSegmentOptions, postDocumentByIdCopy, getDocumentByIdDomains, putDocumentByIdDomains, putDocumentByIdMove, putDocumentByIdMoveToRecycleBin, getDocumentByIdNotifications, putDocumentByIdNotifications, getDocumentByIdPreviewUrl, postDocumentByIdPublicAccess, deleteDocumentByIdPublicAccess, getDocumentByIdPublicAccess, putDocumentByIdPublicAccess, putDocumentByIdPublish, putDocumentByIdPublishWithDescendants, getDocumentByIdPublishWithDescendantsResultByTaskId, getDocumentByIdPublished, getDocumentByIdReferencedBy, getDocumentByIdReferencedDescendants, putDocumentByIdUnpublish, putUmbracoManagementApiV11DocumentByIdValidate11, getDocumentAreReferenced, getDocumentConfiguration, putDocumentSort, getDocumentUrls, postDocumentValidate, getItemDocument, getItemDocumentAncestors, getItemDocumentSearch, deleteRecycleBinDocument, deleteRecycleBinDocumentById, getRecycleBinDocumentByIdOriginalParent, putRecycleBinDocumentByIdRestore, getRecycleBinDocumentChildren, getRecycleBinDocumentReferencedBy, getRecycleBinDocumentRoot, getRecycleBinDocumentSiblings, getTreeDocumentAncestors, getTreeDocumentChildren, getTreeDocumentRoot, getTreeDocumentSiblings, postDynamicRootQuery, getDynamicRootSteps, getHealthCheckGroup, getHealthCheckGroupByName, postHealthCheckGroupByNameCheck, postHealthCheckExecuteAction, getHelp, getImagingResizeUrls, getImportAnalyze, getIndexer, getIndexerByIndexName, postIndexerByIndexNameRebuild, getInstallSettings, postInstallSetup, postInstallValidateDatabase, getItemLanguage, getItemLanguageDefault, getLanguage, postLanguage, getLanguageByIsoCode, deleteLanguageByIsoCode, putLanguageByIsoCode, getLogViewerLevel, getLogViewerLevelCount, getLogViewerLog, getLogViewerMessageTemplate, getLogViewerSavedSearch, postLogViewerSavedSearch, getLogViewerSavedSearchByName, deleteLogViewerSavedSearchByName, getLogViewerValidateLogsSize, getManifestManifest, getManifestManifestPrivate, getManifestManifestPublic, getItemMediaType, getItemMediaTypeAllowed, getItemMediaTypeAncestors, getItemMediaTypeFolders, getItemMediaTypeSearch, postMediaType, getMediaTypeById, deleteMediaTypeById, putMediaTypeById, getMediaTypeByIdAllowedChildren, getMediaTypeByIdAllowedParents, getMediaTypeByIdCompositionReferences, postMediaTypeByIdCopy, getMediaTypeByIdExport, putMediaTypeByIdImport, putMediaTypeByIdMove, getMediaTypeAllowedAtRoot, postMediaTypeAvailableCompositions, getMediaTypeBatch, getMediaTypeConfiguration, postMediaTypeFolder, getMediaTypeFolderById, deleteMediaTypeFolderById, putMediaTypeFolderById, postMediaTypeImport, getTreeMediaTypeAncestors, getTreeMediaTypeChildren, getTreeMediaTypeRoot, getTreeMediaTypeSiblings, getCollectionMedia, getItemMedia, getItemMediaAncestors, getItemMediaSearch, postMedia, getMediaById, deleteMediaById, putMediaById, getMediaByIdAuditLog, putMediaByIdMove, putMediaByIdMoveToRecycleBin, getMediaByIdReferencedBy, getMediaByIdReferencedDescendants, putMediaByIdValidate, getMediaAreReferenced, getMediaConfiguration, putMediaSort, getMediaUrls, postMediaValidate, deleteRecycleBinMedia, deleteRecycleBinMediaById, getRecycleBinMediaByIdOriginalParent, putRecycleBinMediaByIdRestore, getRecycleBinMediaChildren, getRecycleBinMediaReferencedBy, getRecycleBinMediaRoot, getRecycleBinMediaSiblings, getTreeMediaAncestors, getTreeMediaChildren, getTreeMediaRoot, getTreeMediaSiblings, getItemMemberGroup, getMemberGroup, postMemberGroup, getMemberGroupById, deleteMemberGroupById, putMemberGroupById, getTreeMemberGroupRoot, getItemMemberType, getItemMemberTypeAncestors, getItemMemberTypeSearch, postMemberType, getMemberTypeById, deleteMemberTypeById, putMemberTypeById, getMemberTypeByIdCompositionReferences, postMemberTypeByIdCopy, getMemberTypeByIdExport, putMemberTypeByIdImport, putMemberTypeByIdMove, postMemberTypeAvailableCompositions, getMemberTypeBatch, getMemberTypeConfiguration, postMemberTypeFolder, getMemberTypeFolderById, deleteMemberTypeFolderById, putMemberTypeFolderById, postMemberTypeImport, getTreeMemberTypeAncestors, getTreeMemberTypeChildren, getTreeMemberTypeRoot, getTreeMemberTypeSiblings, getFilterMember, getItemMember, getItemMemberAncestors, getItemMemberSearch, postMember, getMemberById, deleteMemberById, putMemberById, getMemberByIdReferencedBy, getMemberByIdReferencedDescendants, putMemberByIdValidate, getMemberAreReferenced, getMemberConfiguration, postMemberValidate, postModelsBuilderBuild, getModelsBuilderDashboard, getModelsBuilderStatus, getNewsDashboard, getObjectTypes, getOembedQuery, postPackageByNameRunMigration, getPackageConfiguration, getPackageCreated, postPackageCreated, getPackageCreatedById, deletePackageCreatedById, putPackageCreatedById, getPackageCreatedByIdDownload, getPackageMigrationStatus, getItemPartialView, postPartialView, getPartialViewByPath, deletePartialViewByPath, putPartialViewByPath, putPartialViewByPathRename, postPartialViewFolder, getPartialViewFolderByPath, deletePartialViewFolderByPath, getPartialViewSnippet, getPartialViewSnippetById, getTreePartialViewAncestors, getTreePartialViewChildren, getTreePartialViewRoot, getTreePartialViewSiblings, deletePreview, postPreview, getProfilingStatus, putProfilingStatus, getPropertyTypeIsUsed, postPublishedCacheRebuild, getPublishedCacheRebuildStatus, postPublishedCacheReload, getRedirectManagement, getRedirectManagementById, deleteRedirectManagementById, getRedirectManagementStatus, postRedirectManagementStatus, getItemRelationType, getRelationType, getRelationTypeById, getRelationByRelationTypeId, getItemScript, postScript, getScriptByPath, deleteScriptByPath, putScriptByPath, putScriptByPathRename, postScriptFolder, getScriptFolderByPath, deleteScriptFolderByPath, getTreeScriptAncestors, getTreeScriptChildren, getTreeScriptRoot, getTreeScriptSiblings, getSearcher, getSearcherBySearcherNameQuery, getSecurityConfiguration, postSecurityForgotPassword, postSecurityForgotPasswordReset, postSecurityForgotPasswordVerify, getSegment, getServerConfiguration, getServerInformation, getServerStatus, getServerTroubleshooting, getServerUpgradeCheck, getItemStaticFile, getTreeStaticFileAncestors, getTreeStaticFileChildren, getTreeStaticFileRoot, getItemStylesheet, postStylesheet, getStylesheetByPath, deleteStylesheetByPath, putStylesheetByPath, putStylesheetByPathRename, postStylesheetFolder, getStylesheetFolderByPath, deleteStylesheetFolderByPath, getTreeStylesheetAncestors, getTreeStylesheetChildren, getTreeStylesheetRoot, getTreeStylesheetSiblings, getTag, getTelemetry, getTelemetryLevel, postTelemetryLevel, getItemTemplate, getItemTemplateAncestors, getItemTemplateSearch, postTemplate, getTemplateById, deleteTemplateById, putTemplateById, getTemplateConfiguration, postTemplateQueryExecute, getTemplateQuerySettings, getTreeTemplateAncestors, getTreeTemplateChildren, getTreeTemplateRoot, getTreeTemplateSiblings, postUpgradeAuthorize, getUpgradeSettings, postUserData, getUserData, putUserData, getUserDataById, deleteUserDataById, getFilterUserGroup, getItemUserGroup, deleteUserGroup, postUserGroup, getUserGroup, getUserGroupById, deleteUserGroupById, putUserGroupById, deleteUserGroupByIdUsers, postUserGroupByIdUsers, getFilterUser, getItemUser, postUser, deleteUser, getUser, getUserById, deleteUserById, putUserById, getUserById2fa, deleteUserById2faByProviderName, getUserByIdCalculateStartNodes, postUserByIdChangePassword, postUserByIdClientCredentials, getUserByIdClientCredentials, deleteUserByIdClientCredentialsByClientId, postUserByIdResetPassword, deleteUserAvatarById, postUserAvatarById, getUserConfiguration, getUserCurrent, getUserCurrent2fa, deleteUserCurrent2faByProviderName, postUserCurrent2faByProviderName, getUserCurrent2faByProviderName, postUserCurrentAvatar, postUserCurrentChangePassword, getUserCurrentConfiguration, getUserCurrentLoginProviders, getUserCurrentPermissions, getUserCurrentPermissionsDocument, getUserCurrentPermissionsMedia, postUserDisable, postUserEnable, postUserInvite, postUserInviteCreatePassword, postUserInviteResend, postUserInviteVerify, postUserSetUserGroups, postUserUnlock, getItemWebhook, getWebhook, postWebhook, getWebhookById, deleteWebhookById, putWebhookById, getWebhookByIdLogs, getWebhookEvents, getWebhookLogs };
4544
+ return { getCulture, postDataType, getDataTypeById, deleteDataTypeById, putDataTypeById, postDataTypeByIdCopy, getDataTypeByIdIsUsed, putDataTypeByIdMove, getDataTypeByIdReferencedBy, getDataTypeByIdSchema, getDataTypeBatch, getDataTypeConfiguration, postDataTypeFolder, getDataTypeFolderById, deleteDataTypeFolderById, putDataTypeFolderById, getDataTypeSchemasBatch, getFilterDataType, getItemDataType, getItemDataTypeAncestors, getItemDataTypeSearch, getTreeDataTypeAncestors, getTreeDataTypeChildren, getTreeDataTypeRoot, getTreeDataTypeSearch, getTreeDataTypeSiblings, getDictionary, postDictionary, getDictionaryById, deleteDictionaryById, putDictionaryById, getDictionaryByIdExport, putDictionaryByIdMove, postDictionaryImport, getItemDictionary, getTreeDictionaryAncestors, getTreeDictionaryChildren, getTreeDictionaryRoot, postDocumentBlueprint, getDocumentBlueprintById, deleteDocumentBlueprintById, putDocumentBlueprintById, getDocumentBlueprintByIdAuditLog, putDocumentBlueprintByIdMove, getDocumentBlueprintByIdScaffold, postDocumentBlueprintFolder, getDocumentBlueprintFolderById, deleteDocumentBlueprintFolderById, putDocumentBlueprintFolderById, postDocumentBlueprintFromDocument, getItemDocumentBlueprint, getTreeDocumentBlueprintAncestors, getTreeDocumentBlueprintChildren, getTreeDocumentBlueprintRoot, getTreeDocumentBlueprintSiblings, postDocumentType, getDocumentTypeById, deleteDocumentTypeById, putDocumentTypeById, getDocumentTypeByIdAllowedChildren, getDocumentTypeByIdAllowedParents, getDocumentTypeByIdBlueprint, getDocumentTypeByIdCompositionReferences, postDocumentTypeByIdCopy, getDocumentTypeByIdExport, putDocumentTypeByIdImport, putDocumentTypeByIdMove, getDocumentTypeByIdSchema, postDocumentTypeByIdTemplate, getDocumentTypeAllowedAtRoot, postDocumentTypeAvailableCompositions, getDocumentTypeBatch, getDocumentTypeConfiguration, postDocumentTypeFolder, getDocumentTypeFolderById, deleteDocumentTypeFolderById, putDocumentTypeFolderById, postDocumentTypeImport, getItemDocumentType, getItemDocumentTypeAncestors, getItemDocumentTypeSearch, getTreeDocumentTypeAncestors, getTreeDocumentTypeChildren, getTreeDocumentTypeRoot, getTreeDocumentTypeSearch, getTreeDocumentTypeSiblings, getDocumentVersion, getDocumentVersionById, putDocumentVersionByIdPreventCleanup, postDocumentVersionByIdRollback, getCollectionDocumentById, postDocument, getDocumentById, deleteDocumentById, putDocumentById, getDocumentByIdAuditLog, getDocumentByIdAvailableSegmentOptions, postDocumentByIdCopy, getDocumentByIdDomains, putDocumentByIdDomains, putDocumentByIdMove, putDocumentByIdMoveToRecycleBin, getDocumentByIdNotifications, putDocumentByIdNotifications, patchDocumentByIdPatch, getDocumentByIdPreviewUrl, postDocumentByIdPublicAccess, deleteDocumentByIdPublicAccess, getDocumentByIdPublicAccess, putDocumentByIdPublicAccess, putDocumentByIdPublish, putDocumentByIdPublishWithDescendants, getDocumentByIdPublishWithDescendantsResultByTaskId, getDocumentByIdPublished, getDocumentByIdReferencedBy, getDocumentByIdReferencedDescendants, putDocumentByIdUnpublish, putUmbracoManagementApiV11DocumentByIdValidate11, getDocumentAreReferenced, getDocumentConfiguration, putDocumentSort, getDocumentUrls, postDocumentValidate, getItemDocument, getItemDocumentAncestors, getItemDocumentSearch, deleteRecycleBinDocument, deleteRecycleBinDocumentById, getRecycleBinDocumentByIdOriginalParent, putRecycleBinDocumentByIdRestore, getRecycleBinDocumentChildren, getRecycleBinDocumentReferencedBy, getRecycleBinDocumentRoot, getRecycleBinDocumentSiblings, getTreeDocumentAncestors, getTreeDocumentChildren, getTreeDocumentRoot, getTreeDocumentSiblings, postDynamicRootQuery, getDynamicRootSteps, getHealthCheckGroup, getHealthCheckGroupByName, postHealthCheckGroupByNameCheck, postHealthCheckExecuteAction, getHelp, getImagingResizeUrls, getImportAnalyze, getIndexer, getIndexerByIndexName, postIndexerByIndexNameRebuild, getInstallSettings, postInstallSetup, postInstallValidateDatabase, getItemLanguage, getItemLanguageDefault, getLanguage, postLanguage, getLanguageByIsoCode, deleteLanguageByIsoCode, putLanguageByIsoCode, getLogViewerLevel, getLogViewerLevelCount, getLogViewerLog, getLogViewerMessageTemplate, getLogViewerSavedSearch, postLogViewerSavedSearch, getLogViewerSavedSearchByName, deleteLogViewerSavedSearchByName, getLogViewerValidateLogsSize, getManifestManifest, getManifestManifestPrivate, getManifestManifestPublic, getItemMediaType, getItemMediaTypeAllowed, getItemMediaTypeAncestors, getItemMediaTypeFolders, getItemMediaTypeSearch, postMediaType, getMediaTypeById, deleteMediaTypeById, putMediaTypeById, getMediaTypeByIdAllowedChildren, getMediaTypeByIdAllowedParents, getMediaTypeByIdCompositionReferences, postMediaTypeByIdCopy, getMediaTypeByIdExport, putMediaTypeByIdImport, putMediaTypeByIdMove, getMediaTypeByIdSchema, getMediaTypeAllowedAtRoot, postMediaTypeAvailableCompositions, getMediaTypeBatch, getMediaTypeConfiguration, postMediaTypeFolder, getMediaTypeFolderById, deleteMediaTypeFolderById, putMediaTypeFolderById, postMediaTypeImport, getTreeMediaTypeAncestors, getTreeMediaTypeChildren, getTreeMediaTypeRoot, getTreeMediaTypeSiblings, getCollectionMedia, getItemMedia, getItemMediaAncestors, getItemMediaSearch, postMedia, getMediaById, deleteMediaById, putMediaById, getMediaByIdAuditLog, putMediaByIdMove, putMediaByIdMoveToRecycleBin, getMediaByIdReferencedBy, getMediaByIdReferencedDescendants, putMediaByIdValidate, getMediaAreReferenced, getMediaConfiguration, putMediaSort, getMediaUrls, postMediaValidate, deleteRecycleBinMedia, deleteRecycleBinMediaById, getRecycleBinMediaByIdOriginalParent, putRecycleBinMediaByIdRestore, getRecycleBinMediaChildren, getRecycleBinMediaReferencedBy, getRecycleBinMediaRoot, getRecycleBinMediaSiblings, getTreeMediaAncestors, getTreeMediaChildren, getTreeMediaRoot, getTreeMediaSiblings, getItemMemberGroup, getMemberGroup, postMemberGroup, getMemberGroupById, deleteMemberGroupById, putMemberGroupById, getTreeMemberGroupRoot, getItemMemberType, getItemMemberTypeAncestors, getItemMemberTypeSearch, postMemberType, getMemberTypeById, deleteMemberTypeById, putMemberTypeById, getMemberTypeByIdCompositionReferences, postMemberTypeByIdCopy, getMemberTypeByIdExport, putMemberTypeByIdImport, putMemberTypeByIdMove, getMemberTypeByIdSchema, getMemberTypeAllowedAtRoot, postMemberTypeAvailableCompositions, getMemberTypeBatch, getMemberTypeConfiguration, postMemberTypeFolder, getMemberTypeFolderById, deleteMemberTypeFolderById, putMemberTypeFolderById, postMemberTypeImport, getTreeMemberTypeAncestors, getTreeMemberTypeChildren, getTreeMemberTypeRoot, getTreeMemberTypeSiblings, getFilterMember, getItemMember, getItemMemberAncestors, getItemMemberSearch, postMember, getMemberById, deleteMemberById, putMemberById, getMemberByIdReferencedBy, getMemberByIdReferencedDescendants, putMemberByIdValidate, getMemberAreReferenced, getMemberConfiguration, postMemberValidate, postModelsBuilderBuild, getModelsBuilderDashboard, getModelsBuilderStatus, getNewsDashboard, getObjectTypes, getOembedQuery, postPackageByNameRunMigration, getPackageConfiguration, getPackageCreated, postPackageCreated, getPackageCreatedById, deletePackageCreatedById, putPackageCreatedById, getPackageCreatedByIdDownload, getPackageMigrationStatus, getItemPartialView, postPartialView, getPartialViewByPath, deletePartialViewByPath, putPartialViewByPath, putPartialViewByPathRename, postPartialViewFolder, getPartialViewFolderByPath, deletePartialViewFolderByPath, getPartialViewSnippet, getPartialViewSnippetById, getTreePartialViewAncestors, getTreePartialViewChildren, getTreePartialViewRoot, getTreePartialViewSiblings, deletePreview, postPreview, getProfilingStatus, putProfilingStatus, getPropertyTypeIsUsed, postPublishedCacheRebuild, getPublishedCacheRebuildStatus, postPublishedCacheReload, getRedirectManagement, getRedirectManagementById, deleteRedirectManagementById, getRedirectManagementStatus, postRedirectManagementStatus, getItemRelationType, getRelationType, getRelationTypeById, getRelationByRelationTypeId, getItemScript, postScript, getScriptByPath, deleteScriptByPath, putScriptByPath, putScriptByPathRename, postScriptFolder, getScriptFolderByPath, deleteScriptFolderByPath, getTreeScriptAncestors, getTreeScriptChildren, getTreeScriptRoot, getTreeScriptSiblings, getSearcher, getSearcherBySearcherNameQuery, getSecurityConfiguration, postSecurityForgotPassword, postSecurityForgotPasswordReset, postSecurityForgotPasswordVerify, getSegment, getServerConfiguration, getServerInformation, getServerStatus, getServerTroubleshooting, getServerUpgradeCheck, getItemStaticFile, getTreeStaticFileAncestors, getTreeStaticFileChildren, getTreeStaticFileRoot, getItemStylesheet, postStylesheet, getStylesheetByPath, deleteStylesheetByPath, putStylesheetByPath, putStylesheetByPathRename, postStylesheetFolder, getStylesheetFolderByPath, deleteStylesheetFolderByPath, getTreeStylesheetAncestors, getTreeStylesheetChildren, getTreeStylesheetRoot, getTreeStylesheetSiblings, getTag, getTelemetry, getTelemetryLevel, postTelemetryLevel, getItemTemplate, getItemTemplateAncestors, getItemTemplateSearch, postTemplate, getTemplateById, deleteTemplateById, putTemplateById, getTemplateConfiguration, postTemplateQueryExecute, getTemplateQuerySettings, getTreeTemplateAncestors, getTreeTemplateChildren, getTreeTemplateRoot, getTreeTemplateSiblings, postUpgradeAuthorize, getUpgradeSettings, postUserData, getUserData, putUserData, getUserDataById, deleteUserDataById, getFilterUserGroup, getItemUserGroup, deleteUserGroup, postUserGroup, getUserGroup, getUserGroupById, deleteUserGroupById, putUserGroupById, deleteUserGroupByIdUsers, postUserGroupByIdUsers, getFilterUser, getItemUser, postUser, deleteUser, getUser, getUserById, deleteUserById, putUserById, getUserById2fa, deleteUserById2faByProviderName, getUserByIdCalculateStartNodes, postUserByIdChangePassword, postUserByIdClientCredentials, getUserByIdClientCredentials, deleteUserByIdClientCredentialsByClientId, postUserByIdResetPassword, deleteUserAvatarById, postUserAvatarById, getUserConfiguration, getUserCurrent, getUserCurrent2fa, deleteUserCurrent2faByProviderName, postUserCurrent2faByProviderName, getUserCurrent2faByProviderName, postUserCurrentAvatar, postUserCurrentChangePassword, getUserCurrentConfiguration, getUserCurrentLoginProviders, getUserCurrentPermissions, getUserCurrentPermissionsDocument, getUserCurrentPermissionsMedia, postUserDisable, postUserEnable, postUserInvite, postUserInviteCreatePassword, postUserInviteResend, postUserInviteVerify, postUserSetUserGroups, postUserUnlock, getItemWebhook, getWebhook, postWebhook, getWebhookById, deleteWebhookById, putWebhookById, getWebhookByIdLogs, getWebhookEvents, getWebhookLogs };
4468
4545
  };
4469
4546
 
4470
4547
  // src/umb-management-api/api/temporary-file/index.ts
@@ -4531,6 +4608,20 @@ var UmbracoManagementClient3 = (_class = class {
4531
4608
  }
4532
4609
  }, _class.__initStatic(), _class);
4533
4610
 
4611
+ // src/umb-management-api/runtime-context.ts
4612
+ var umbracoVersion = null;
4613
+ function setUmbracoVersion(version) {
4614
+ umbracoVersion = _nullishCoalesce(version, () => ( null));
4615
+ }
4616
+ function isUmbracoAtLeast(major, minor) {
4617
+ if (!umbracoVersion) return false;
4618
+ const [maj, min] = umbracoVersion.split(".").map((n) => parseInt(n, 10));
4619
+ if (Number.isNaN(maj) || Number.isNaN(min)) return false;
4620
+ if (maj > major) return true;
4621
+ if (maj < major) return false;
4622
+ return min >= minor;
4623
+ }
4624
+
4534
4625
  // src/umb-management-api/api/umbracoManagementAPI.zod.ts
4535
4626
  var _zod = require('zod'); var zod = _interopRequireWildcard(_zod);
4536
4627
  var getCultureQueryTakeDefault = 100;
@@ -4699,6 +4790,19 @@ var getDataTypeByIdReferencedByResponse = zod.object({
4699
4790
  })
4700
4791
  })]))
4701
4792
  });
4793
+ var getDataTypeByIdSchemaParams = zod.object({
4794
+ "id": zod.guid()
4795
+ });
4796
+ var getDataTypeByIdSchemaResponse = zod.object({
4797
+ "valueTypeName": zod.string().nullish(),
4798
+ "jsonSchema": zod.record(zod.string(), zod.object({
4799
+ "options": zod.object({
4800
+ "propertyNameCaseInsensitive": zod.boolean()
4801
+ }).nullish(),
4802
+ "parent": zod.unknown().nullish(),
4803
+ "root": zod.unknown()
4804
+ })).nullish()
4805
+ });
4702
4806
  var getDataTypeBatchQueryParams = zod.object({
4703
4807
  "id": zod.array(zod.guid()).optional()
4704
4808
  });
@@ -4745,6 +4849,24 @@ var putDataTypeFolderByIdParams = zod.object({
4745
4849
  var putDataTypeFolderByIdBody = zod.object({
4746
4850
  "name": zod.string().min(1)
4747
4851
  });
4852
+ var getDataTypeSchemasBatchQueryParams = zod.object({
4853
+ "id": zod.array(zod.guid()).optional()
4854
+ });
4855
+ var getDataTypeSchemasBatchResponse = zod.object({
4856
+ "total": zod.number(),
4857
+ "items": zod.array(zod.object({
4858
+ "id": zod.guid(),
4859
+ "valueTypeName": zod.string().nullish(),
4860
+ "jsonSchema": zod.record(zod.string(), zod.object({
4861
+ "options": zod.object({
4862
+ "propertyNameCaseInsensitive": zod.boolean()
4863
+ }).nullish(),
4864
+ "parent": zod.unknown().nullish(),
4865
+ "root": zod.unknown()
4866
+ })).nullish(),
4867
+ "error": zod.string().nullish()
4868
+ }))
4869
+ });
4748
4870
  var getFilterDataTypeQueryTakeDefault = 100;
4749
4871
  var getFilterDataTypeQueryParams = zod.object({
4750
4872
  "skip": zod.coerce.number().optional(),
@@ -5143,6 +5265,28 @@ var putDocumentBlueprintByIdBody = zod.object({
5143
5265
  "name": zod.string().min(1)
5144
5266
  }))
5145
5267
  });
5268
+ var getDocumentBlueprintByIdAuditLogParams = zod.object({
5269
+ "id": zod.guid()
5270
+ });
5271
+ var getDocumentBlueprintByIdAuditLogQueryTakeDefault = 100;
5272
+ var getDocumentBlueprintByIdAuditLogQueryParams = zod.object({
5273
+ "orderDirection": zod.enum(["Ascending", "Descending"]).optional(),
5274
+ "sinceDate": zod.iso.datetime({ "local": true, "offset": true }).optional(),
5275
+ "skip": zod.coerce.number().optional(),
5276
+ "take": zod.coerce.number().default(getDocumentBlueprintByIdAuditLogQueryTakeDefault)
5277
+ });
5278
+ var getDocumentBlueprintByIdAuditLogResponse = zod.object({
5279
+ "total": zod.number(),
5280
+ "items": zod.array(zod.object({
5281
+ "user": zod.object({
5282
+ "id": zod.guid()
5283
+ }),
5284
+ "timestamp": zod.iso.datetime({ "local": true, "offset": true }),
5285
+ "logType": zod.enum(["New", "Save", "SaveVariant", "Open", "Delete", "Publish", "PublishVariant", "SendToPublish", "SendToPublishVariant", "Unpublish", "UnpublishVariant", "Move", "Copy", "AssignDomain", "PublicAccess", "Sort", "Notify", "System", "RollBack", "PackagerInstall", "PackagerUninstall", "Custom", "ContentVersionPreventCleanup", "ContentVersionEnableCleanup"]),
5286
+ "comment": zod.string().nullish(),
5287
+ "parameters": zod.string().nullish()
5288
+ }))
5289
+ });
5146
5290
  var putDocumentBlueprintByIdMoveParams = zod.object({
5147
5291
  "id": zod.guid()
5148
5292
  });
@@ -5651,6 +5795,16 @@ var putDocumentTypeByIdMoveBody = zod.object({
5651
5795
  "id": zod.guid()
5652
5796
  }).nullish()
5653
5797
  });
5798
+ var getDocumentTypeByIdSchemaParams = zod.object({
5799
+ "id": zod.guid()
5800
+ });
5801
+ var getDocumentTypeByIdSchemaResponse = zod.record(zod.string(), zod.object({
5802
+ "options": zod.object({
5803
+ "propertyNameCaseInsensitive": zod.boolean()
5804
+ }).nullish(),
5805
+ "parent": zod.unknown().nullish(),
5806
+ "root": zod.unknown()
5807
+ }));
5654
5808
  var postDocumentTypeByIdTemplateParams = zod.object({
5655
5809
  "id": zod.guid()
5656
5810
  });
@@ -6279,6 +6433,9 @@ var putDocumentByIdNotificationsParams = zod.object({
6279
6433
  var putDocumentByIdNotificationsBody = zod.object({
6280
6434
  "subscribedActionIds": zod.array(zod.string())
6281
6435
  });
6436
+ var patchDocumentByIdPatchParams = zod.object({
6437
+ "id": zod.guid()
6438
+ });
6282
6439
  var getDocumentByIdPreviewUrlParams = zod.object({
6283
6440
  "id": zod.guid()
6284
6441
  });
@@ -6338,7 +6495,7 @@ var getDocumentByIdPublicAccessResponse = zod.object({
6338
6495
  "name": zod.string(),
6339
6496
  "culture": zod.string().nullish()
6340
6497
  })),
6341
- "kind": zod.enum(["Default", "Api"])
6498
+ "kind": zod.enum(["Default", "Api", "ExternalOnly"])
6342
6499
  })),
6343
6500
  "groups": zod.array(zod.object({
6344
6501
  "id": zod.guid(),
@@ -7271,7 +7428,8 @@ var getIndexerResponse = zod.object({
7271
7428
  "searcherName": zod.string(),
7272
7429
  "documentCount": zod.number(),
7273
7430
  "fieldCount": zod.number(),
7274
- "providerProperties": zod.record(zod.string(), zod.unknown().nullable()).nullish()
7431
+ "providerProperties": zod.record(zod.string(), zod.unknown().nullable()).nullish(),
7432
+ "uniqueKeyFieldName": zod.string().nullish()
7275
7433
  }))
7276
7434
  });
7277
7435
  var getIndexerByIndexNameParams = zod.object({
@@ -7287,7 +7445,8 @@ var getIndexerByIndexNameResponse = zod.object({
7287
7445
  "searcherName": zod.string(),
7288
7446
  "documentCount": zod.number(),
7289
7447
  "fieldCount": zod.number(),
7290
- "providerProperties": zod.record(zod.string(), zod.unknown().nullable()).nullish()
7448
+ "providerProperties": zod.record(zod.string(), zod.unknown().nullable()).nullish(),
7449
+ "uniqueKeyFieldName": zod.string().nullish()
7291
7450
  });
7292
7451
  var postIndexerByIndexNameRebuildParams = zod.object({
7293
7452
  "indexName": zod.string()
@@ -7847,6 +8006,16 @@ var putMediaTypeByIdMoveBody = zod.object({
7847
8006
  "id": zod.guid()
7848
8007
  }).nullish()
7849
8008
  });
8009
+ var getMediaTypeByIdSchemaParams = zod.object({
8010
+ "id": zod.guid()
8011
+ });
8012
+ var getMediaTypeByIdSchemaResponse = zod.record(zod.string(), zod.object({
8013
+ "options": zod.object({
8014
+ "propertyNameCaseInsensitive": zod.boolean()
8015
+ }).nullish(),
8016
+ "parent": zod.unknown().nullish(),
8017
+ "root": zod.unknown()
8018
+ }));
7850
8019
  var getMediaTypeAllowedAtRootQueryTakeDefault = 100;
7851
8020
  var getMediaTypeAllowedAtRootQueryParams = zod.object({
7852
8021
  "skip": zod.coerce.number().optional(),
@@ -9121,6 +9290,30 @@ var putMemberTypeByIdMoveBody = zod.object({
9121
9290
  "id": zod.guid()
9122
9291
  }).nullish()
9123
9292
  });
9293
+ var getMemberTypeByIdSchemaParams = zod.object({
9294
+ "id": zod.guid()
9295
+ });
9296
+ var getMemberTypeByIdSchemaResponse = zod.record(zod.string(), zod.object({
9297
+ "options": zod.object({
9298
+ "propertyNameCaseInsensitive": zod.boolean()
9299
+ }).nullish(),
9300
+ "parent": zod.unknown().nullish(),
9301
+ "root": zod.unknown()
9302
+ }));
9303
+ var getMemberTypeAllowedAtRootQueryTakeDefault = 100;
9304
+ var getMemberTypeAllowedAtRootQueryParams = zod.object({
9305
+ "skip": zod.coerce.number().optional(),
9306
+ "take": zod.coerce.number().default(getMemberTypeAllowedAtRootQueryTakeDefault)
9307
+ });
9308
+ var getMemberTypeAllowedAtRootResponse = zod.object({
9309
+ "total": zod.number(),
9310
+ "items": zod.array(zod.object({
9311
+ "id": zod.guid(),
9312
+ "name": zod.string(),
9313
+ "description": zod.string().nullish(),
9314
+ "icon": zod.string().nullish()
9315
+ }))
9316
+ });
9124
9317
  var postMemberTypeAvailableCompositionsBody = zod.object({
9125
9318
  "id": zod.guid().nullish(),
9126
9319
  "currentPropertyAliases": zod.array(zod.string()),
@@ -9365,7 +9558,8 @@ var getFilterMemberResponse = zod.object({
9365
9558
  "lastLockoutDate": zod.iso.datetime({ "local": true, "offset": true }).nullish(),
9366
9559
  "lastPasswordChangeDate": zod.iso.datetime({ "local": true, "offset": true }).nullish(),
9367
9560
  "groups": zod.array(zod.guid()),
9368
- "kind": zod.enum(["Default", "Api"])
9561
+ "kind": zod.enum(["Default", "Api", "ExternalOnly"]),
9562
+ "profileData": zod.string().nullish()
9369
9563
  }))
9370
9564
  });
9371
9565
  var getItemMemberQueryParams = zod.object({
@@ -9387,7 +9581,7 @@ var getItemMemberResponseItem = zod.object({
9387
9581
  "name": zod.string(),
9388
9582
  "culture": zod.string().nullish()
9389
9583
  })),
9390
- "kind": zod.enum(["Default", "Api"])
9584
+ "kind": zod.enum(["Default", "Api", "ExternalOnly"])
9391
9585
  });
9392
9586
  var getItemMemberResponse = zod.array(getItemMemberResponseItem);
9393
9587
  var getItemMemberAncestorsQueryParams = zod.object({
@@ -9411,7 +9605,7 @@ var getItemMemberAncestorsResponseItem = zod.object({
9411
9605
  "name": zod.string(),
9412
9606
  "culture": zod.string().nullish()
9413
9607
  })),
9414
- "kind": zod.enum(["Default", "Api"])
9608
+ "kind": zod.enum(["Default", "Api", "ExternalOnly"])
9415
9609
  }))
9416
9610
  });
9417
9611
  var getItemMemberAncestorsResponse = zod.array(getItemMemberAncestorsResponseItem);
@@ -9439,7 +9633,7 @@ var getItemMemberSearchResponse = zod.object({
9439
9633
  "name": zod.string(),
9440
9634
  "culture": zod.string().nullish()
9441
9635
  })),
9442
- "kind": zod.enum(["Default", "Api"])
9636
+ "kind": zod.enum(["Default", "Api", "ExternalOnly"])
9443
9637
  })),
9444
9638
  "total": zod.number()
9445
9639
  });
@@ -9504,7 +9698,8 @@ var getMemberByIdResponse = zod.object({
9504
9698
  "lastLockoutDate": zod.iso.datetime({ "local": true, "offset": true }).nullish(),
9505
9699
  "lastPasswordChangeDate": zod.iso.datetime({ "local": true, "offset": true }).nullish(),
9506
9700
  "groups": zod.array(zod.guid()),
9507
- "kind": zod.enum(["Default", "Api"])
9701
+ "kind": zod.enum(["Default", "Api", "ExternalOnly"]),
9702
+ "profileData": zod.string().nullish()
9508
9703
  });
9509
9704
  var deleteMemberByIdParams = zod.object({
9510
9705
  "id": zod.guid()
@@ -11437,13 +11632,12 @@ var getUserCurrentPermissionsResponse = zod.object({
11437
11632
  var getUserCurrentPermissionsDocumentQueryParams = zod.object({
11438
11633
  "id": zod.array(zod.guid()).optional()
11439
11634
  });
11440
- var getUserCurrentPermissionsDocumentResponseItem = zod.object({
11635
+ var getUserCurrentPermissionsDocumentResponse = zod.object({
11441
11636
  "permissions": zod.array(zod.object({
11442
11637
  "nodeKey": zod.guid(),
11443
11638
  "permissions": zod.array(zod.string())
11444
11639
  }))
11445
11640
  });
11446
- var getUserCurrentPermissionsDocumentResponse = zod.array(getUserCurrentPermissionsDocumentResponseItem);
11447
11641
  var getUserCurrentPermissionsMediaQueryParams = zod.object({
11448
11642
  "id": zod.array(zod.guid()).optional()
11449
11643
  });
@@ -11738,11 +11932,10 @@ var CreateDataTypeTool = {
11738
11932
  *** PROPERTY EDITOR CONFIGURATION ***
11739
11933
  When creating a new data type you will need to assign a property editor with the correct configuration.
11740
11934
 
11741
- IMPORTANT: Use the get-data-type-property-editor-template tool to:
11742
- - View all available property editors (call without parameters)
11743
- - Get the correct configuration template for a specific property editor (call with editorName parameter)
11744
- - Each template shows the required editorAlias, editorUiAlias, and values configuration
11745
- - Customize the template values to match your specific requirements
11935
+ IMPORTANT: Use the get-data-type-schema tool to:
11936
+ - Get the JSON Schema for an existing data type by its Id to understand its configuration structure
11937
+ - Or use get-data-type-schemas to fetch schemas for multiple data types in a batch
11938
+ - The schema describes the expected value structure for the property editor
11746
11939
 
11747
11940
  *** VALIDATION ***
11748
11941
  If you are not asked for a property editor then stop and ask the user to provide one.
@@ -11928,816 +12121,477 @@ var GetDataTypeConfigurationTool = {
11928
12121
  };
11929
12122
  var get_data_type_configuration_default = _mcpserversdk.withStandardDecorators.call(void 0, GetDataTypeConfigurationTool);
11930
12123
 
11931
- // src/umb-management-api/tools/data-type/get/get-data-type-property-editor-template.ts
12124
+ // src/umb-management-api/tools/data-type/get/get-data-type-schema.ts
11932
12125
 
11933
12126
 
11934
- // src/umb-management-api/tools/data-type/post/property-editor-templates.ts
11935
- var propertyEditorTemplates = {
11936
- "Decimal": {
11937
- "editorAlias": "Umbraco.Decimal",
11938
- "editorUiAlias": "Umb.PropertyEditorUi.Decimal",
11939
- "values": [
11940
- {
11941
- "alias": "step",
11942
- "value": "0.01"
11943
- },
11944
- {
11945
- "alias": "min",
11946
- "value": 3
11947
- },
11948
- {
11949
- "alias": "max",
11950
- "value": 10
11951
- },
11952
- {
11953
- "alias": "placeholder",
11954
- "value": "Item"
11955
- }
11956
- ]
11957
- },
11958
- "Email": {
11959
- "editorAlias": "Umbraco.EmailAddress",
11960
- "editorUiAlias": "Umb.PropertyEditorUi.EmailAddress",
11961
- "values": [
11962
- {
11963
- "alias": "inputType",
11964
- "value": "email"
11965
- }
11966
- ]
11967
- },
11968
- "Label": {
11969
- "editorAlias": "Umbraco.Label",
11970
- "editorUiAlias": "Umb.PropertyEditorUi.Label",
11971
- "values": [
11972
- {
11973
- "alias": "umbracoDataValueType",
11974
- "value": "DECIMAL"
11975
- }
11976
- ],
11977
- "_notes": "Label options: STRING, DECIMAL, DATETIME, TIME, INTEGER, BIGINT, TEXT"
11978
- },
11979
- "Numeric": {
11980
- "editorAlias": "Umbraco.Label",
11981
- "editorUiAlias": "Umb.PropertyEditorUi.Label",
11982
- "values": [
11983
- {
11984
- "alias": "umbracoDataValueType",
11985
- "value": "DECIMAL"
11986
- }
11987
- ]
11988
- },
11989
- "Slider": {
11990
- "editorAlias": "Umbraco.Slider",
11991
- "editorUiAlias": "Umb.PropertyEditorUi.Slider",
11992
- "values": [
11993
- {
11994
- "alias": "minVal",
11995
- "value": 0
11996
- },
11997
- {
11998
- "alias": "maxVal",
11999
- "value": 100
12000
- },
12001
- {
12002
- "alias": "initVal1",
12003
- "value": 0
12004
- },
12005
- {
12006
- "alias": "initVal2",
12007
- "value": 0
12008
- },
12009
- {
12010
- "alias": "step",
12011
- "value": 1
12012
- }
12013
- ]
12014
- },
12015
- "Tags": {
12016
- "editorAlias": "Umbraco.Tags",
12017
- "editorUiAlias": "Umb.PropertyEditorUi.Tags",
12018
- "values": [
12019
- {
12020
- "alias": "group",
12021
- "value": "default"
12022
- },
12023
- {
12024
- "alias": "storageType",
12025
- "value": "Json"
12026
- }
12027
- ],
12028
- "_notes": "Storage options: Json, CSV"
12029
- },
12030
- "Textarea": {
12031
- "editorAlias": "Umbraco.TextArea",
12032
- "editorUiAlias": "Umb.PropertyEditorUi.TextArea",
12033
- "values": [
12034
- {
12035
- "alias": "rows",
12036
- "value": 10
12037
- },
12038
- {
12039
- "alias": "maxChars",
12040
- "value": 100
12041
- },
12042
- {
12043
- "alias": "minHeight",
12044
- "value": 200
12045
- },
12046
- {
12047
- "alias": "maxHeight",
12048
- "value": 100
12049
- }
12050
- ]
12051
- },
12052
- "Textbox": {
12053
- "editorAlias": "Umbraco.TextBox",
12054
- "editorUiAlias": "Umb.PropertyEditorUi.TextBox",
12055
- "values": [
12056
- {
12057
- "alias": "maxChars",
12058
- "value": 512
12059
- },
12060
- {
12061
- "alias": "inputType",
12062
- "value": "text"
12063
- }
12064
- ]
12065
- },
12066
- "Toggle": {
12067
- "editorAlias": "Umbraco.TrueFalse",
12068
- "editorUiAlias": "Umb.PropertyEditorUi.Toggle",
12069
- "values": [
12070
- {
12071
- "alias": "default",
12072
- "value": true
12073
- },
12074
- {
12075
- "alias": "showLabels",
12076
- "value": true
12077
- },
12078
- {
12079
- "alias": "labelOn",
12080
- "value": "On"
12081
- },
12082
- {
12083
- "alias": "labelOff",
12084
- "value": "Off"
12085
- },
12086
- {
12087
- "alias": "ariaLabel",
12088
- "value": "Reader"
12089
- }
12090
- ]
12091
- },
12127
+
12128
+
12129
+
12130
+
12131
+ // src/umb-management-api/tools/data-type/get/get-data-type-schema-modern.ts
12132
+
12133
+ async function getDataTypeSchemaFromApi(id) {
12134
+ const client = UmbracoManagementClient3.getClient();
12135
+ const response = await client.getDataTypeByIdSchema(
12136
+ id,
12137
+ _mcpserversdk.CAPTURE_RAW_HTTP_RESPONSE
12138
+ );
12139
+ return _nullishCoalesce(response.data, () => ( {}));
12140
+ }
12141
+
12142
+ // src/umb-management-api/tools/document/post/property-value-templates.ts
12143
+ var propertyValueTemplates = {
12092
12144
  "BlockList": {
12093
- "editorAlias": "Umbraco.BlockList",
12094
- "editorUiAlias": "Umb.PropertyEditorUi.BlockList",
12095
- "values": [
12096
- {
12097
- "alias": "blocks",
12098
- "value": [
12145
+ editorAlias: "Umbraco.BlockList",
12146
+ value: {
12147
+ layout: {
12148
+ "Umbraco.BlockList": [
12099
12149
  {
12100
- "contentElementTypeKey": "c80027e5-7e87-49c1-9b4f-1b9d3fbc2e90",
12101
- "settingsElementTypeKey": "2e1a4fd4-b695-4033-8626-1a45b54e04cb",
12102
- "backgroundColor": "#c05454",
12103
- "iconColor": "#00ff6f"
12150
+ contentKey: "7a61b31c-792f-4f6b-a665-960a90b49853"
12104
12151
  }
12105
12152
  ]
12106
12153
  },
12107
- {
12108
- "alias": "validationLimit",
12109
- "value": {
12110
- "max": 3
12154
+ contentData: [
12155
+ {
12156
+ key: "7a61b31c-792f-4f6b-a665-960a90b49853",
12157
+ contentTypeKey: "3a7ec32d-7fd4-49f8-aae6-d9259d5bfee1",
12158
+ values: [
12159
+ {
12160
+ editorAlias: "Umbraco.MediaPicker3",
12161
+ culture: null,
12162
+ segment: null,
12163
+ alias: "recipeImage",
12164
+ value: [
12165
+ {
12166
+ key: "9bac772d-cd63-4bb6-b2db-1449042129a7",
12167
+ mediaKey: "3c6c415c-35a0-4629-891e-683506250c31",
12168
+ mediaTypeAlias: "",
12169
+ crops: [],
12170
+ focalPoint: null
12171
+ }
12172
+ ]
12173
+ }
12174
+ ]
12111
12175
  }
12112
- },
12113
- {
12114
- "alias": "useLiveEditing",
12115
- "value": true
12116
- },
12117
- {
12118
- "alias": "useInlineEditingAsDefault",
12119
- "value": true
12120
- },
12121
- {
12122
- "alias": "maxPropertyWidth",
12123
- "value": "100px"
12124
- }
12125
- ],
12126
- "_notes": "IMPORTANT - when creating new block list data types always create the required element types first before creating the data type"
12176
+ ],
12177
+ settingsData: [],
12178
+ expose: [
12179
+ {
12180
+ contentKey: "7a61b31c-792f-4f6b-a665-960a90b49853",
12181
+ culture: null,
12182
+ segment: null
12183
+ }
12184
+ ]
12185
+ },
12186
+ _notes: "Complex structure with layout, contentData, settingsData, and expose arrays. contentData.values contains nested property values. All keys must be unique UUIDs."
12127
12187
  },
12128
- "CheckBoxList": {
12129
- "editorAlias": "Umbraco.BlockList",
12130
- "editorUiAlias": "Umb.PropertyEditorUi.BlockList",
12131
- "values": [
12132
- {
12133
- "alias": "blocks",
12134
- "value": [
12188
+ "BlockGrid": {
12189
+ editorAlias: "Umbraco.BlockGrid",
12190
+ value: {
12191
+ layout: {
12192
+ "Umbraco.BlockGrid": [
12135
12193
  {
12136
- "contentElementTypeKey": "c80027e5-7e87-49c1-9b4f-1b9d3fbc2e90",
12137
- "settingsElementTypeKey": "2e1a4fd4-b695-4033-8626-1a45b54e04cb",
12138
- "backgroundColor": "#c05454",
12139
- "iconColor": "#00ff6f"
12140
- }
12141
- ]
12142
- },
12143
- {
12144
- "alias": "validationLimit",
12145
- "value": {
12146
- "max": 3
12147
- }
12148
- },
12149
- {
12150
- "alias": "useLiveEditing",
12151
- "value": true
12152
- },
12153
- {
12154
- "alias": "useInlineEditingAsDefault",
12155
- "value": true
12156
- },
12157
- {
12158
- "alias": "maxPropertyWidth",
12159
- "value": "100px"
12160
- }
12161
- ]
12162
- },
12163
- "Collection": {
12164
- "editorAlias": "Umbraco.BlockList",
12165
- "editorUiAlias": "Umb.PropertyEditorUi.BlockList",
12166
- "values": [
12167
- {
12168
- "alias": "blocks",
12169
- "value": [
12170
- {
12171
- "contentElementTypeKey": "c80027e5-7e87-49c1-9b4f-1b9d3fbc2e90",
12172
- "settingsElementTypeKey": "2e1a4fd4-b695-4033-8626-1a45b54e04cb",
12173
- "backgroundColor": "#c05454",
12174
- "iconColor": "#00ff6f"
12194
+ contentKey: "d8fa3d28-79aa-4c60-8e73-5819ed313ea2",
12195
+ columnSpan: 12,
12196
+ rowSpan: 1,
12197
+ areas: [
12198
+ {
12199
+ key: "43743e78-0f2b-465e-a3ce-f381c90b68e0",
12200
+ items: [
12201
+ {
12202
+ contentKey: "3145f922-7ec1-41e0-99a5-d9677e558163",
12203
+ settingsKey: "6248d134-4657-4605-b0d5-ae804858bb88",
12204
+ columnSpan: 6,
12205
+ rowSpan: 1
12206
+ }
12207
+ ]
12208
+ }
12209
+ ]
12175
12210
  }
12176
12211
  ]
12177
12212
  },
12178
- {
12179
- "alias": "validationLimit",
12180
- "value": {
12181
- "max": 3
12213
+ contentData: [
12214
+ {
12215
+ key: "d8fa3d28-79aa-4c60-8e73-5819ed313ea2",
12216
+ contentTypeKey: "6960aaca-0b26-4fae-9cee-db73405d7a3e",
12217
+ values: [
12218
+ {
12219
+ editorAlias: "Umbraco.TextBox",
12220
+ culture: null,
12221
+ segment: null,
12222
+ alias: "title",
12223
+ value: "Title"
12224
+ },
12225
+ {
12226
+ editorAlias: "Umbraco.RichText",
12227
+ culture: null,
12228
+ segment: null,
12229
+ alias: "bodyText",
12230
+ value: {
12231
+ markup: "<p>Content here</p>",
12232
+ blocks: {
12233
+ layout: {},
12234
+ contentData: [],
12235
+ settingsData: [],
12236
+ expose: []
12237
+ }
12238
+ }
12239
+ },
12240
+ {
12241
+ editorAlias: "Umbraco.MediaPicker3",
12242
+ culture: null,
12243
+ segment: null,
12244
+ alias: "image",
12245
+ value: [
12246
+ {
12247
+ key: "40edd153-31eb-4c61-82fc-1ec2e695197b",
12248
+ mediaKey: "3c6c415c-35a0-4629-891e-683506250c31",
12249
+ mediaTypeAlias: "",
12250
+ crops: [],
12251
+ focalPoint: null
12252
+ }
12253
+ ]
12254
+ }
12255
+ ]
12256
+ },
12257
+ {
12258
+ key: "3145f922-7ec1-41e0-99a5-d9677e558163",
12259
+ contentTypeKey: "c80027e5-7e87-49c1-9b4f-1b9d3fbc2e90",
12260
+ values: [
12261
+ {
12262
+ editorAlias: "Umbraco.TextBox",
12263
+ culture: null,
12264
+ segment: null,
12265
+ alias: "title",
12266
+ value: "Nested Title"
12267
+ },
12268
+ {
12269
+ editorAlias: "Umbraco.RichText",
12270
+ culture: null,
12271
+ segment: null,
12272
+ alias: "content",
12273
+ value: {
12274
+ markup: "<p>Nested content</p>",
12275
+ blocks: {
12276
+ layout: {},
12277
+ contentData: [],
12278
+ settingsData: [],
12279
+ expose: []
12280
+ }
12281
+ }
12282
+ }
12283
+ ]
12182
12284
  }
12183
- },
12184
- {
12185
- "alias": "useLiveEditing",
12186
- "value": true
12187
- },
12188
- {
12189
- "alias": "useInlineEditingAsDefault",
12190
- "value": true
12191
- },
12192
- {
12193
- "alias": "maxPropertyWidth",
12194
- "value": "100px"
12195
- }
12285
+ ],
12286
+ settingsData: [
12287
+ {
12288
+ key: "6248d134-4657-4605-b0d5-ae804858bb88",
12289
+ contentTypeKey: "06200e23-1c29-4298-9582-48b2eaa81fbf",
12290
+ values: []
12291
+ }
12292
+ ],
12293
+ expose: [
12294
+ {
12295
+ contentKey: "d8fa3d28-79aa-4c60-8e73-5819ed313ea2",
12296
+ culture: null,
12297
+ segment: null
12298
+ },
12299
+ {
12300
+ contentKey: "3145f922-7ec1-41e0-99a5-d9677e558163",
12301
+ culture: null,
12302
+ segment: null
12303
+ }
12304
+ ]
12305
+ },
12306
+ _notes: "Complex hierarchical structure with areas and nested items. Layout defines structure with columnSpan/rowSpan. contentData stores actual content. All keys must be unique UUIDs."
12307
+ },
12308
+ "Decimal": {
12309
+ editorAlias: "Umbraco.Decimal",
12310
+ value: 1.2
12311
+ },
12312
+ "EmailAddress": {
12313
+ editorAlias: "Umbraco.EmailAddress",
12314
+ value: "admin@admin.co.uk"
12315
+ },
12316
+ "Integer": {
12317
+ editorAlias: "Umbraco.Integer",
12318
+ value: 1
12319
+ },
12320
+ "Tags": {
12321
+ editorAlias: "Umbraco.Tags",
12322
+ value: [
12323
+ "Tag 1",
12324
+ "Tag 2"
12325
+ ]
12326
+ },
12327
+ "ColorPicker": {
12328
+ editorAlias: "Umbraco.ColorPicker",
12329
+ value: {
12330
+ label: "Green",
12331
+ value: "#00FF00"
12332
+ }
12333
+ },
12334
+ "TrueFalse": {
12335
+ editorAlias: "Umbraco.TrueFalse",
12336
+ value: true
12337
+ },
12338
+ "CheckBoxList": {
12339
+ editorAlias: "Umbraco.CheckBoxList",
12340
+ value: [
12341
+ "item 1",
12342
+ "items 2"
12196
12343
  ]
12197
12344
  },
12198
12345
  "Dropdown": {
12199
- "editorAlias": "Umbraco.DropDown.Flexible",
12200
- "editorUiAlias": "Umb.PropertyEditorUi.Dropdown",
12201
- "values": [
12202
- {
12203
- "alias": "items",
12204
- "value": [
12205
- "Item 1",
12206
- "Item 2"
12207
- ]
12208
- },
12209
- {
12210
- "alias": "multiple",
12211
- "value": true
12212
- }
12346
+ editorAlias: "Umbraco.DropDown.Flexible",
12347
+ value: [
12348
+ "Item 3"
12213
12349
  ]
12214
12350
  },
12215
- "MultipleTextString": {
12216
- "editorAlias": "Umbraco.MultipleTextstring",
12217
- "editorUiAlias": "Umb.PropertyEditorUi.MultipleTextString",
12218
- "values": [
12219
- {
12220
- "alias": "min",
12221
- "value": 3
12222
- },
12223
- {
12224
- "alias": "max",
12225
- "value": 10
12226
- }
12351
+ "MultipleTextstring": {
12352
+ editorAlias: "Umbraco.MultipleTextstring",
12353
+ value: [
12354
+ "Item 1",
12355
+ "item 2"
12227
12356
  ]
12228
12357
  },
12229
12358
  "RadioButtonList": {
12230
- "editorAlias": "Umbraco.RadioButtonList",
12231
- "editorUiAlias": "Umb.PropertyEditorUi.RadioButtonList",
12232
- "values": [
12233
- {
12234
- "alias": "items",
12235
- "value": [
12236
- "Item 1",
12237
- "Item 2"
12238
- ]
12239
- }
12240
- ]
12359
+ editorAlias: "Umbraco.RadioButtonList",
12360
+ value: "item 1"
12241
12361
  },
12242
12362
  "ImageCropper": {
12243
- "_notes": "Doesn't work"
12363
+ editorAlias: "Umbraco.ImageCropper",
12364
+ value: {
12365
+ temporaryFileId: "b45eb1dd-2959-4b0b-a675-761b6a19824c",
12366
+ src: "",
12367
+ crops: [],
12368
+ focalPoint: {
12369
+ left: 0.5,
12370
+ top: 0.5
12371
+ }
12372
+ },
12373
+ _notes: "IMPORTANT: Requires a temporary file uploaded first. Use the temporaryFileId from the upload response."
12244
12374
  },
12245
- "MediaPicker": {
12246
- "editorAlias": "Umbraco.MediaPicker3",
12247
- "editorUiAlias": "Umb.PropertyEditorUi.MediaPicker",
12248
- "values": [
12249
- {
12250
- "alias": "filter",
12251
- "value": "cc07b313-0843-4aa8-bbda-871c8da728c8"
12252
- },
12253
- {
12254
- "alias": "multiple",
12255
- "value": true
12256
- },
12257
- {
12258
- "alias": "validationLimit",
12259
- "value": {
12260
- "max": 10
12261
- }
12262
- },
12263
- {
12264
- "alias": "startNodeId"
12265
- },
12266
- {
12267
- "alias": "enableLocalFocalPoint",
12268
- "value": true
12269
- },
12375
+ "MediaPicker3": {
12376
+ editorAlias: "Umbraco.MediaPicker3",
12377
+ value: [
12270
12378
  {
12271
- "alias": "ignoreUserStartNodes",
12272
- "value": true
12379
+ key: "4c82123c-cd3e-4d92-84b8-9c79ad5a5319",
12380
+ mediaKey: "3c6c415c-35a0-4629-891e-683506250c31",
12381
+ mediaTypeAlias: "",
12382
+ crops: [],
12383
+ focalPoint: null
12273
12384
  }
12274
- ]
12385
+ ],
12386
+ _notes: "The key is generated by you. The mediaKey relates to an existing media item id."
12275
12387
  },
12276
12388
  "UploadField": {
12277
- "editorAlias": "Umbraco.UploadField",
12278
- "editorUiAlias": "Umb.PropertyEditorUi.UploadField",
12279
- "values": [
12280
- {
12281
- "alias": "fileExtensions",
12282
- "value": [
12283
- "pdf"
12284
- ]
12285
- }
12286
- ]
12389
+ editorAlias: "Umbraco.UploadField",
12390
+ value: {
12391
+ src: "blob:http://localhost:56472/0884388b-41a3-46c2-a224-9b9ff02de24a",
12392
+ temporaryFileId: "fc76f270-83c2-4daa-ba8b-fde4554dda2a"
12393
+ },
12394
+ _notes: "IMPORTANT: Requires a temporary file uploaded first. Use the temporaryFileId from the upload response."
12395
+ },
12396
+ "Slider": {
12397
+ editorAlias: "Umbraco.Slider",
12398
+ value: {
12399
+ from: 31,
12400
+ to: 31
12401
+ }
12287
12402
  },
12288
12403
  "MemberGroupPicker": {
12289
- "editorAlias": "Umbraco.MemberGroupPicker",
12290
- "editorUiAlias": "Umb.PropertyEditorUi.MemberGroupPicker",
12291
- "values": []
12404
+ editorAlias: "Umbraco.MemberGroupPicker",
12405
+ value: "9815503d-a5a9-487f-aee3-827ca43fdb2c",
12406
+ _notes: "The value relates to an existing member group id."
12292
12407
  },
12293
12408
  "MemberPicker": {
12294
- "editorAlias": "Umbraco.MemberPicker",
12295
- "editorUiAlias": "Umb.PropertyEditorUi.MemberPicker",
12296
- "values": []
12409
+ editorAlias: "Umbraco.MemberPicker",
12410
+ value: "f8abd31e-c78d-46ea-bb6b-c00cb9107bfb",
12411
+ _notes: "The value relates to an existing member id."
12297
12412
  },
12298
12413
  "UserPicker": {
12299
- "editorAlias": "Umbraco.UserPicker",
12300
- "editorUiAlias": "Umb.PropertyEditorUi.UserPicker",
12301
- "values": []
12414
+ editorAlias: "Umbraco.UserPicker",
12415
+ value: "1e70f841-c261-413b-abb2-2d68cdb96094",
12416
+ _notes: "The value relates to an existing user id."
12302
12417
  },
12303
- "ColorPicker": {
12304
- "editorAlias": "Umbraco.ColorPicker",
12305
- "editorUiAlias": "Umb.PropertyEditorUi.ColorPicker",
12306
- "values": [
12307
- {
12308
- "alias": "useLabel",
12309
- "value": true
12310
- },
12418
+ "MultiNodeTreePicker": {
12419
+ editorAlias: "Umbraco.MultiNodeTreePicker",
12420
+ value: [
12311
12421
  {
12312
- "alias": "items",
12313
- "value": [
12314
- {
12315
- "value": "F00",
12316
- "label": "Red"
12317
- }
12318
- ]
12319
- }
12320
- ]
12321
- },
12322
- "ContentPicker": {
12323
- "editorAlias": "Umbraco.MultiNodeTreePicker",
12324
- "editorUiAlias": "Umb.PropertyEditorUi.ContentPicker",
12325
- "values": [
12326
- {
12327
- "alias": "minNumber",
12328
- "value": 0
12329
- },
12330
- {
12331
- "alias": "maxNumber",
12332
- "value": 0
12333
- },
12334
- {
12335
- "alias": "ignoreUserStartNodes",
12336
- "value": true
12337
- },
12338
- {
12339
- "alias": "startNode",
12340
- "value": {
12341
- "type": "content",
12342
- "dynamicRoot": {
12343
- "originAlias": "Current"
12344
- }
12345
- }
12346
- },
12347
- {
12348
- "alias": "filter",
12349
- "value": "0fde8472-7c10-4e8a-bd4a-fffc0306d0aa"
12350
- },
12351
- {
12352
- "alias": "showOpenButton",
12353
- "value": true
12422
+ type: "document",
12423
+ unique: "dcf18a51-6919-4cf8-89d1-36b94ce4d963"
12354
12424
  }
12355
- ]
12425
+ ],
12426
+ _notes: "The unique property relates to an existing document, media, or member id. Type can be 'document', 'media', or 'member'."
12356
12427
  },
12357
- "DatePicker": {
12358
- "editorAlias": "Umbraco.DateTime",
12359
- "editorUiAlias": "Umb.PropertyEditorUi.DatePicker",
12360
- "values": [
12361
- {
12362
- "alias": "format",
12363
- "value": "YYYY-MM-DD HH:mm:ss"
12364
- }
12365
- ]
12428
+ "DateTime": {
12429
+ editorAlias: "Umbraco.DateTime",
12430
+ value: "2025-05-23 00:00:00"
12366
12431
  },
12367
- "DocumentPicker": {
12368
- "editorAlias": "Umbraco.ContentPicker",
12369
- "editorUiAlias": "Umb.PropertyEditorUi.DocumentPicker",
12370
- "values": [
12371
- {
12372
- "alias": "ignoreUserStartNodes",
12373
- "value": true
12374
- },
12375
- {
12376
- "alias": "startNodeId",
12377
- "value": "dcf18a51-6919-4cf8-89d1-36b94ce4d963"
12378
- },
12379
- {
12380
- "alias": "showOpenButton",
12381
- "value": true
12382
- }
12383
- ]
12432
+ "ContentPicker": {
12433
+ editorAlias: "Umbraco.ContentPicker",
12434
+ value: "dcf18a51-6919-4cf8-89d1-36b94ce4d963",
12435
+ _notes: "The value relates to an existing document id."
12384
12436
  },
12385
- "EyeDropper": {
12386
- "editorAlias": "Umbraco.ColorPicker.EyeDropper",
12387
- "editorUiAlias": "Umb.PropertyEditorUi.EyeDropper",
12388
- "values": [
12389
- {
12390
- "alias": "showAlpha",
12391
- "value": true
12392
- },
12393
- {
12394
- "alias": "showPalette",
12395
- "value": true
12396
- }
12397
- ]
12437
+ "ColorPickerEyeDropper": {
12438
+ editorAlias: "Umbraco.ColorPicker.EyeDropper",
12439
+ value: "#982020"
12398
12440
  },
12399
12441
  "MultiUrlPicker": {
12400
- "editorAlias": "Umbraco.MultiUrlPicker",
12401
- "editorUiAlias": "Umb.PropertyEditorUi.MultiUrlPicker",
12402
- "values": [
12403
- {
12404
- "alias": "minNumber",
12405
- "value": 1
12406
- },
12407
- {
12408
- "alias": "maxNumber",
12409
- "value": 3
12410
- },
12442
+ editorAlias: "Umbraco.MultiUrlPicker",
12443
+ value: [
12411
12444
  {
12412
- "alias": "ignoreUserStartNodes",
12413
- "value": true
12445
+ icon: "icon-home color-blue",
12446
+ name: "Home",
12447
+ type: "document",
12448
+ unique: "dcf18a51-6919-4cf8-89d1-36b94ce4d963",
12449
+ url: "/"
12414
12450
  },
12415
12451
  {
12416
- "alias": "hideAnchor",
12417
- "value": false
12418
- }
12419
- ]
12420
- },
12421
- "BlockGrid": {
12422
- "editorAlias": "Umbraco.BlockGrid",
12423
- "editorUiAlias": "Umb.PropertyEditorUi.BlockGrid",
12424
- "values": [
12425
- {
12426
- "alias": "gridColumns",
12427
- "value": 12
12452
+ icon: "icon-picture",
12453
+ name: "Chairs lamps",
12454
+ type: "media",
12455
+ unique: "3c6c415c-35a0-4629-891e-683506250c31",
12456
+ url: "http://localhost:56472/media/0ofdvcwj/chairs-lamps.jpg"
12428
12457
  },
12429
12458
  {
12430
- "alias": "blocks",
12431
- "value": [
12432
- {
12433
- "contentElementTypeKey": "c80027e5-7e87-49c1-9b4f-1b9d3fbc2e90",
12434
- "allowAtRoot": true,
12435
- "allowInAreas": true,
12436
- "settingsElementTypeKey": "93638715-f76c-4a11-86b1-6a9d66504901",
12437
- "columnSpanOptions": [
12438
- {
12439
- "columnSpan": 12
12440
- }
12441
- ],
12442
- "rowMinSpan": 0,
12443
- "rowMaxSpan": 3
12444
- }
12445
- ]
12459
+ name: "Title",
12460
+ target: "_blank",
12461
+ type: "external",
12462
+ url: "www.google.com"
12446
12463
  }
12447
12464
  ],
12448
- "_notes": "IMPORTANT - when creating new block grid data types always create the required element types first before creating the data type"
12465
+ _notes: "Can contain document, media, or external link entries. For document/media, unique is the content id."
12466
+ },
12467
+ "MarkdownEditor": {
12468
+ editorAlias: "Umbraco.MarkdownEditor",
12469
+ value: "Markdown"
12449
12470
  },
12450
12471
  "CodeEditor": {
12451
- "editorAlias": "Umbraco.Plain.String",
12452
- "editorUiAlias": "Umb.PropertyEditorUi.CodeEditor",
12453
- "values": [
12454
- {
12455
- "alias": "language",
12456
- "value": "javascript"
12457
- },
12458
- {
12459
- "alias": "height",
12460
- "value": 400
12461
- },
12462
- {
12463
- "alias": "lineNumbers",
12464
- "value": true
12465
- },
12466
- {
12467
- "alias": "minimap",
12468
- "value": true
12469
- },
12470
- {
12471
- "alias": "wordWrap",
12472
- "value": false
12473
- }
12474
- ]
12472
+ editorAlias: "Umbraco.CodeEditor",
12473
+ value: "Code"
12475
12474
  },
12476
- "MarkdownEditor": {
12477
- "editorAlias": "Umbraco.MarkdownEditor",
12478
- "editorUiAlias": "Umb.PropertyEditorUi.MarkdownEditor",
12479
- "values": [
12480
- {
12481
- "alias": "preview",
12482
- "value": true
12483
- },
12484
- {
12485
- "alias": "defaultValue",
12486
- "value": "Default value"
12487
- },
12488
- {
12489
- "alias": "overlaySize",
12490
- "value": "small"
12491
- }
12492
- ]
12475
+ "Textbox": {
12476
+ editorAlias: "Umbraco.TextBox",
12477
+ value: "some string"
12493
12478
  },
12494
- "RichTextEditor_TinyMCE": {
12495
- "editorAlias": "Umbraco.RichText",
12496
- "editorUiAlias": "Umb.PropertyEditorUi.TinyMCE",
12497
- "values": [
12498
- {
12499
- "alias": "toolbar",
12500
- "value": [
12501
- "styles",
12502
- "bold",
12503
- "italic",
12504
- "alignleft",
12505
- "aligncenter",
12506
- "alignright",
12507
- "bullist",
12508
- "numlist",
12509
- "outdent",
12510
- "indent",
12511
- "sourcecode",
12512
- "link",
12513
- "umbmediapicker",
12514
- "umbembeddialog"
12515
- ]
12516
- },
12517
- {
12518
- "alias": "mode",
12519
- "value": "Classic"
12520
- },
12521
- {
12522
- "alias": "maxImageSize",
12523
- "value": 500
12524
- },
12525
- {
12526
- "alias": "blocks",
12527
- "value": [
12528
- {
12529
- "contentElementTypeKey": "c80027e5-7e87-49c1-9b4f-1b9d3fbc2e90",
12530
- "settingsElementTypeKey": "93638715-f76c-4a11-86b1-6a9d66504901",
12531
- "label": "Appearance",
12532
- "displayInline": true,
12533
- "editorSize": "small",
12534
- "backgroundColor": "#000000",
12535
- "iconColor": "#000000"
12536
- }
12537
- ]
12538
- },
12539
- {
12540
- "alias": "mediaParentId"
12541
- },
12542
- {
12543
- "alias": "ignoreUserStartNodes",
12544
- "value": true
12545
- }
12546
- ]
12479
+ "TextArea": {
12480
+ editorAlias: "Umbraco.TextArea",
12481
+ value: "some string"
12547
12482
  },
12548
- "RichTextEditor_Tiptap": {
12549
- "editorAlias": "Umbraco.RichText",
12550
- "editorUiAlias": "Umb.PropertyEditorUi.Tiptap",
12551
- "values": [
12552
- {
12553
- "alias": "toolbar",
12554
- "value": [
12555
- [
12556
- [
12557
- "Umb.Tiptap.Toolbar.SourceEditor"
12558
- ],
12559
- [
12560
- "Umb.Tiptap.Toolbar.Bold",
12561
- "Umb.Tiptap.Toolbar.Italic",
12562
- "Umb.Tiptap.Toolbar.Underline"
12563
- ],
12564
- [
12565
- "Umb.Tiptap.Toolbar.TextAlignLeft",
12566
- "Umb.Tiptap.Toolbar.TextAlignCenter",
12567
- "Umb.Tiptap.Toolbar.TextAlignRight"
12568
- ],
12569
- [
12570
- "Umb.Tiptap.Toolbar.BulletList",
12571
- "Umb.Tiptap.Toolbar.OrderedList"
12572
- ],
12573
- [
12574
- "Umb.Tiptap.Toolbar.Blockquote",
12575
- "Umb.Tiptap.Toolbar.HorizontalRule"
12576
- ],
12577
- [
12578
- "Umb.Tiptap.Toolbar.Link",
12579
- "Umb.Tiptap.Toolbar.Unlink"
12580
- ],
12581
- [
12582
- "Umb.Tiptap.Toolbar.MediaPicker",
12583
- "Umb.Tiptap.Toolbar.EmbeddedMedia"
12584
- ]
12585
- ]
12586
- ]
12587
- },
12588
- {
12589
- "alias": "maxImageSize",
12590
- "value": 500
12591
- },
12592
- {
12593
- "alias": "overlaySize",
12594
- "value": "medium"
12595
- },
12596
- {
12597
- "alias": "extensions",
12598
- "value": [
12599
- "Umb.Tiptap.Embed",
12600
- "Umb.Tiptap.Figure",
12601
- "Umb.Tiptap.Image",
12602
- "Umb.Tiptap.Link",
12603
- "Umb.Tiptap.MediaUpload",
12604
- "Umb.Tiptap.RichTextEssentials",
12605
- "Umb.Tiptap.Subscript",
12606
- "Umb.Tiptap.Superscript",
12607
- "Umb.Tiptap.Table",
12608
- "Umb.Tiptap.TextAlign",
12609
- "Umb.Tiptap.TextDirection",
12610
- "Umb.Tiptap.Underline"
12611
- ]
12483
+ "RichTextEditor": {
12484
+ editorAlias: "Umbraco.RichText",
12485
+ value: {
12486
+ markup: "<p>some string</p>",
12487
+ blocks: {
12488
+ layout: {},
12489
+ contentData: [],
12490
+ settingsData: [],
12491
+ expose: []
12612
12492
  }
12613
- ]
12493
+ },
12494
+ _notes: "The blocks property has the same structure as BlockList. Can include nested block content within the rich text."
12614
12495
  }
12615
12496
  };
12616
12497
 
12617
- // src/umb-management-api/tools/data-type/get/get-data-type-property-editor-template.ts
12618
-
12619
-
12498
+ // src/umb-management-api/tools/data-type/get/get-data-type-schema-legacy.ts
12499
+ var VALUE_TYPE_BY_EDITOR_ALIAS = {
12500
+ "Umbraco.TextBox": "STRING",
12501
+ "Umbraco.TextArea": "STRING",
12502
+ "Umbraco.MarkdownEditor": "STRING",
12503
+ "Umbraco.CodeEditor": "STRING",
12504
+ "Umbraco.EmailAddress": "STRING",
12505
+ "Umbraco.Integer": "INTEGER",
12506
+ "Umbraco.Decimal": "DECIMAL",
12507
+ "Umbraco.DateTime": "DATETIME",
12508
+ "Umbraco.TrueFalse": "INTEGER",
12509
+ "Umbraco.Label": "STRING"
12510
+ };
12511
+ function findTemplateByEditorAlias(editorAlias) {
12512
+ const key = Object.keys(propertyValueTemplates).find(
12513
+ (k) => propertyValueTemplates[k].editorAlias.toLowerCase() === editorAlias.toLowerCase()
12514
+ );
12515
+ return key ? propertyValueTemplates[key] : void 0;
12516
+ }
12517
+ async function synthesizeDataTypeSchema(id) {
12518
+ const client = UmbracoManagementClient3.getClient();
12519
+ const dataType = await client.getDataTypeById(id);
12520
+ const template = findTemplateByEditorAlias(dataType.editorAlias);
12521
+ const valueTypeName = _nullishCoalesce(VALUE_TYPE_BY_EDITOR_ALIAS[dataType.editorAlias], () => ( (_optionalChain([template, 'optionalAccess', _2 => _2.value]) !== void 0 ? "JSON" : null)));
12522
+ const jsonSchema = {
12523
+ $schema: "https://json-schema.org/draft/2020-12/schema",
12524
+ title: dataType.name,
12525
+ description: "Synthesized from hardcoded property-value templates (Umbraco < 17.4 fallback).",
12526
+ dataTypeId: dataType.id,
12527
+ editorAlias: dataType.editorAlias,
12528
+ editorUiAlias: dataType.editorUiAlias,
12529
+ example: _optionalChain([template, 'optionalAccess', _3 => _3.value]),
12530
+ notes: _optionalChain([template, 'optionalAccess', _4 => _4._notes])
12531
+ };
12532
+ return { valueTypeName, jsonSchema };
12533
+ }
12620
12534
 
12535
+ // src/umb-management-api/tools/data-type/get/get-data-type-schema.ts
12536
+ var dataTypeSchemaOutputSchema = _zod.z.object({
12537
+ valueTypeName: _zod.z.string().nullish(),
12538
+ jsonSchema: _zod.z.unknown().nullish()
12539
+ });
12540
+ var outputSchema3 = dataTypeSchemaOutputSchema;
12541
+ var GetDataTypeSchemaTool = {
12542
+ name: "get-data-type-schema",
12543
+ description: `Gets the JSON Schema for a data type by Id.
12621
12544
 
12545
+ Returns a JSON Schema describing the value structure for the specified data type, including its configured property editor settings.
12622
12546
 
12623
- var propertyEditorTemplateSchema = _zod.z.object({
12624
- editorName: _zod.z.string().optional().describe("The name of the property editor template to retrieve (e.g., 'Textbox', 'Toggle', 'RichTextEditor_TinyMCE'). If not provided, returns a list of all available property editor names.")
12625
- });
12626
- var propertyEditorTemplateValueSchema = _zod.z.object({
12627
- alias: _zod.z.string(),
12628
- value: _zod.z.any().optional()
12629
- });
12630
- var propertyEditorTemplateItemSchema = _zod.z.object({
12631
- editorAlias: _zod.z.string().optional(),
12632
- editorUiAlias: _zod.z.string().optional(),
12633
- values: _zod.z.array(propertyEditorTemplateValueSchema).optional(),
12634
- _notes: _zod.z.string().optional()
12635
- });
12636
- var propertyEditorTemplateOutputSchema = _zod.z.object({
12637
- type: _zod.z.enum(["list", "template"]).describe("Whether this is a list of available editors or a specific template"),
12638
- availableEditors: _zod.z.array(_zod.z.object({
12639
- name: _zod.z.string(),
12640
- notes: _zod.z.string().optional()
12641
- })).optional().describe("Available editors (when type is 'list')"),
12642
- name: _zod.z.string().optional().describe("Editor name (when type is 'template')"),
12643
- template: propertyEditorTemplateItemSchema.optional().describe("Editor template (when type is 'template')")
12644
- });
12645
- var GetDataTypePropertyEditorTemplateTool = {
12646
- name: "get-data-type-property-editor-template",
12647
- description: `Retrieves property editor templates for creating data types in Umbraco.
12648
-
12649
- IMPORTANT: This tool should be used BEFORE creating data types to understand:
12650
- - What property editors are available
12651
- - The required configuration structure for each property editor
12652
- - Example values that can be customized for your needs
12653
-
12654
- Usage:
12655
- 1. Call without parameters to see all available property editor names
12656
- 2. Call with a specific editorName to get the full configuration template for that property editor
12657
- 3. Use the returned template as a starting point when creating new data types with create-data-type
12658
-
12659
- The templates include:
12660
- - editorAlias: The internal Umbraco editor identifier (required)
12661
- - editorUiAlias: The UI component identifier (required)
12662
- - values: An array of configuration options with example values
12663
- - _notes: Important information about special requirements or options
12664
-
12665
- Note: Some templates (like BlockList, BlockGrid) have _notes indicating you must create element types first before creating the data type.`,
12666
- inputSchema: propertyEditorTemplateSchema.shape,
12667
- outputSchema: propertyEditorTemplateOutputSchema.shape,
12547
+ IMPORTANT: Use this tool BEFORE creating data types to understand the expected configuration structure for a specific property editor.`,
12548
+ inputSchema: getDataTypeByIdSchemaParams.shape,
12549
+ outputSchema: outputSchema3.shape,
12668
12550
  annotations: {
12669
12551
  readOnlyHint: true
12670
12552
  },
12671
- slices: ["templates"],
12672
- handler: (async (model) => {
12673
- if (!model.editorName) {
12674
- const availableEditors = Object.entries(propertyEditorTemplates).map(([name, config]) => ({
12675
- name,
12676
- notes: config._notes
12677
- })).sort((a, b) => a.name.localeCompare(b.name));
12678
- const structuredOutput2 = {
12679
- type: "list",
12680
- availableEditors
12681
- };
12682
- const text = `Available Property Editor Templates:
12553
+ slices: ["read"],
12554
+ handler: async ({ id }) => {
12555
+ const result = isUmbracoAtLeast(17, 4) ? await getDataTypeSchemaFromApi(id) : await synthesizeDataTypeSchema(id);
12556
+ return _mcpserversdk.createToolResult.call(void 0, result);
12557
+ }
12558
+ };
12559
+ var get_data_type_schema_default = _mcpserversdk.withStandardDecorators.call(void 0, GetDataTypeSchemaTool);
12683
12560
 
12684
- ${availableEditors.map((e) => `- ${e.name}${e.notes ? ` (${e.notes})` : ""}`).join("\n")}
12561
+ // src/umb-management-api/tools/data-type/get/get-data-type-schemas.ts
12685
12562
 
12686
- Use get-data-type-property-editor-template with a specific editorName to see the full configuration.`;
12687
- return _mcpserversdk.createToolResult.call(void 0, structuredOutput2);
12688
- }
12689
- const editorKey = Object.keys(propertyEditorTemplates).find(
12690
- (key) => key.toLowerCase() === model.editorName.toLowerCase()
12691
- );
12692
- if (!editorKey) {
12693
- const availableEditors = Object.keys(propertyEditorTemplates).sort().join(", ");
12694
- const errorData = {
12695
- title: "Property editor template not found",
12696
- detail: `Property editor template '${model.editorName}' not found. Available templates: ${availableEditors}. Note: Editor names are case-insensitive.`,
12697
- availableTemplates: Object.keys(propertyEditorTemplates).sort()
12698
- };
12699
- return _mcpserversdk.createToolResultError.call(void 0, errorData);
12700
- }
12701
- const template = propertyEditorTemplates[editorKey];
12702
- const structuredOutput = {
12703
- type: "template",
12704
- name: editorKey,
12705
- template: {
12706
- editorAlias: template.editorAlias,
12707
- editorUiAlias: template.editorUiAlias,
12708
- values: template.values,
12709
- _notes: template._notes
12710
- }
12711
- };
12712
- let response = `Property Editor Template: ${editorKey}
12713
12563
 
12714
- `;
12715
- if (template._notes) {
12716
- response += `IMPORTANT NOTES:
12717
- ${template._notes}
12718
12564
 
12719
- `;
12720
- }
12721
- response += `Configuration:
12722
- ${JSON.stringify(template, null, 2)}
12723
-
12724
- `;
12725
- response += `Usage with create-data-type:
12726
- `;
12727
- response += `When creating a data type with this property editor, use:
12728
- `;
12729
- response += `- editorAlias: "${template.editorAlias}"
12730
- `;
12731
- response += `- editorUiAlias: "${template.editorUiAlias}"
12732
- `;
12733
- if (template.values && template.values.length > 0) {
12734
- response += `- values: Customize the values array based on your requirements
12735
- `;
12736
- }
12737
- return _mcpserversdk.createToolResult.call(void 0, structuredOutput);
12738
- })
12565
+
12566
+
12567
+
12568
+ var outputSchema4 = _zod.z.object({
12569
+ total: _zod.z.number(),
12570
+ items: _zod.z.array(_zod.z.object({
12571
+ id: _zod.z.guid(),
12572
+ valueTypeName: _zod.z.string().nullish(),
12573
+ jsonSchema: _zod.z.unknown().nullish(),
12574
+ error: _zod.z.string().nullish()
12575
+ }))
12576
+ });
12577
+ var GetDataTypeSchemasTool = {
12578
+ name: "get-data-type-schemas",
12579
+ description: `Gets JSON Schemas for multiple data types in a single batch request.
12580
+
12581
+ Returns JSON Schemas describing the value structure for each specified data type. This is more efficient than calling get-data-type-schema multiple times when you need schemas for several data types.`,
12582
+ inputSchema: getDataTypeSchemasBatchQueryParams.shape,
12583
+ outputSchema: outputSchema4.shape,
12584
+ annotations: {
12585
+ readOnlyHint: true
12586
+ },
12587
+ slices: ["read"],
12588
+ handler: async (model) => {
12589
+ return _mcpserversdk.executeGetApiCall.call(void 0,
12590
+ (client) => client.getDataTypeSchemasBatch(model, _mcpserversdk.CAPTURE_RAW_HTTP_RESPONSE)
12591
+ );
12592
+ }
12739
12593
  };
12740
- var get_data_type_property_editor_template_default = _mcpserversdk.withStandardDecorators.call(void 0, GetDataTypePropertyEditorTemplateTool);
12594
+ var get_data_type_schemas_default = _mcpserversdk.withStandardDecorators.call(void 0, GetDataTypeSchemasTool);
12741
12595
 
12742
12596
  // src/umb-management-api/tools/data-type/put/update-data-type.ts
12743
12597
 
@@ -12794,7 +12648,7 @@ var CopyDataTypeTool = {
12794
12648
  validateStatus: () => true
12795
12649
  });
12796
12650
  if (response.status === 201) {
12797
- const location = _optionalChain([response, 'access', _2 => _2.headers, 'optionalAccess', _3 => _3.location]) || "";
12651
+ const location = _optionalChain([response, 'access', _5 => _5.headers, 'optionalAccess', _6 => _6.location]) || "";
12798
12652
  const newId = location.split("/").pop() || "";
12799
12653
  const output = {
12800
12654
  message: "Data type copied successfully",
@@ -12818,14 +12672,14 @@ var copy_data_type_default = _mcpserversdk.withStandardDecorators.call(void 0, C
12818
12672
 
12819
12673
 
12820
12674
 
12821
- var outputSchema3 = _zod.z.object({
12675
+ var outputSchema5 = _zod.z.object({
12822
12676
  isUsed: _zod.z.boolean().describe("Whether the data type is currently used within Umbraco")
12823
12677
  }).shape;
12824
12678
  var IsUsedDataTypeTool = {
12825
12679
  name: "is-used-data-type",
12826
12680
  description: "Checks if a data type is used within Umbraco",
12827
12681
  inputSchema: getDataTypeByIdIsUsedParams.shape,
12828
- outputSchema: outputSchema3,
12682
+ outputSchema: outputSchema5,
12829
12683
  annotations: {
12830
12684
  readOnlyHint: true
12831
12685
  },
@@ -13086,14 +12940,14 @@ var get_siblings_default = _mcpserversdk.withStandardDecorators.call(void 0, Get
13086
12940
 
13087
12941
 
13088
12942
 
13089
- var outputSchema4 = _zod.z.object({
12943
+ var outputSchema6 = _zod.z.object({
13090
12944
  items: getTreeDataTypeAncestorsResponse
13091
12945
  });
13092
12946
  var GetDataTypeAncestorsTool = {
13093
12947
  name: "get-data-type-ancestors",
13094
12948
  description: "Gets the ancestors of a data type by Id",
13095
12949
  inputSchema: getTreeDataTypeAncestorsQueryParams.shape,
13096
- outputSchema: outputSchema4.shape,
12950
+ outputSchema: outputSchema6.shape,
13097
12951
  annotations: {
13098
12952
  readOnlyHint: true
13099
12953
  },
@@ -13113,7 +12967,7 @@ var get_ancestors_default = _mcpserversdk.withStandardDecorators.call(void 0, Ge
13113
12967
 
13114
12968
 
13115
12969
 
13116
- var outputSchema5 = _zod.z.object({
12970
+ var outputSchema7 = _zod.z.object({
13117
12971
  items: getItemDataTypeAncestorsResponse
13118
12972
  });
13119
12973
  var GetDataTypeAncestorsBatchTool = {
@@ -13122,7 +12976,7 @@ var GetDataTypeAncestorsBatchTool = {
13122
12976
  Returns one entry per requested Id, each containing that Id's chain of ancestors.
13123
12977
  Differs from get-data-type-ancestors which returns the tree-style ancestors of a single Id.`,
13124
12978
  inputSchema: getItemDataTypeAncestorsQueryParams.shape,
13125
- outputSchema: outputSchema5.shape,
12979
+ outputSchema: outputSchema7.shape,
13126
12980
  annotations: {
13127
12981
  readOnlyHint: true
13128
12982
  },
@@ -13166,7 +13020,7 @@ var get_tree_search_default = _mcpserversdk.withStandardDecorators.call(void 0,
13166
13020
 
13167
13021
 
13168
13022
 
13169
- var outputSchema6 = _zod.z.object({
13023
+ var outputSchema8 = _zod.z.object({
13170
13024
  items: getTreeDataTypeRootResponse.shape.items
13171
13025
  });
13172
13026
  var GetAllDataTypesTool = {
@@ -13175,7 +13029,7 @@ var GetAllDataTypesTool = {
13175
13029
  This is the preferred approach when you need to understand the full folder structure.
13176
13030
  For large sites, this may take a while to complete. For smaller sites its more efficient than fetching all data types by folder.`,
13177
13031
  inputSchema: {},
13178
- outputSchema: outputSchema6.shape,
13032
+ outputSchema: outputSchema8.shape,
13179
13033
  annotations: {
13180
13034
  readOnlyHint: true
13181
13035
  },
@@ -13275,7 +13129,10 @@ var DataTypeCollection = {
13275
13129
  tools.push(get_data_type_by_id_array_default);
13276
13130
  tools.push(get_data_type_batch_default);
13277
13131
  tools.push(get_data_type_configuration_default);
13278
- tools.push(get_data_type_property_editor_template_default);
13132
+ tools.push(get_data_type_schema_default);
13133
+ if (isUmbracoAtLeast(17, 4)) {
13134
+ tools.push(get_data_type_schemas_default);
13135
+ }
13279
13136
  }
13280
13137
  if (AuthorizationPolicies.TreeAccessDataTypes(user)) {
13281
13138
  tools.push(get_root_default);
@@ -13375,14 +13232,14 @@ var get_dictionary_item_default = _mcpserversdk.withStandardDecorators.call(void
13375
13232
 
13376
13233
 
13377
13234
 
13378
- var outputSchema7 = _zod.z.object({
13235
+ var outputSchema9 = _zod.z.object({
13379
13236
  items: getItemDictionaryResponse
13380
13237
  });
13381
13238
  var GetDictionaryByIdArrayTool = {
13382
13239
  name: "get-dictionary-by-id-array",
13383
13240
  description: "Gets dictionary items by IDs (or empty array if no IDs are provided)",
13384
13241
  inputSchema: getItemDictionaryQueryParams.shape,
13385
- outputSchema: outputSchema7.shape,
13242
+ outputSchema: outputSchema9.shape,
13386
13243
  annotations: { readOnlyHint: true },
13387
13244
  slices: ["list"],
13388
13245
  handler: (async (params) => {
@@ -13432,7 +13289,7 @@ var CreateDictionaryItemTool = {
13432
13289
  validateStatus: () => true
13433
13290
  });
13434
13291
  if (response.status === 201) {
13435
- const locationHeader = _optionalChain([response, 'access', _4 => _4.headers, 'optionalAccess', _5 => _5["location"]]) || _optionalChain([response, 'access', _6 => _6.headers, 'optionalAccess', _7 => _7["Location"]]);
13292
+ const locationHeader = _optionalChain([response, 'access', _7 => _7.headers, 'optionalAccess', _8 => _8["location"]]) || _optionalChain([response, 'access', _9 => _9.headers, 'optionalAccess', _10 => _10["Location"]]);
13436
13293
  let createdId = model.id || "";
13437
13294
  if (locationHeader) {
13438
13295
  const idMatch = locationHeader.match(/([0-9a-f-]{36})$/i);
@@ -13558,14 +13415,14 @@ var get_children_default2 = _mcpserversdk.withStandardDecorators.call(void 0, Ge
13558
13415
 
13559
13416
 
13560
13417
 
13561
- var outputSchema8 = _zod.z.object({
13418
+ var outputSchema10 = _zod.z.object({
13562
13419
  items: getTreeDictionaryAncestorsResponse
13563
13420
  });
13564
13421
  var GetDictionaryAncestorsTool = {
13565
13422
  name: "get-dictionary-ancestors",
13566
13423
  description: "Gets the ancestors of a dictionary item by Id",
13567
13424
  inputSchema: getTreeDictionaryAncestorsQueryParams.shape,
13568
- outputSchema: outputSchema8.shape,
13425
+ outputSchema: outputSchema10.shape,
13569
13426
  annotations: { readOnlyHint: true },
13570
13427
  slices: ["tree"],
13571
13428
  handler: (async (params) => {
@@ -13726,14 +13583,14 @@ var create_blueprint_default = _mcpserversdk.withStandardDecorators.call(void 0,
13726
13583
 
13727
13584
 
13728
13585
 
13729
- var outputSchema9 = _zod.z.object({
13586
+ var outputSchema11 = _zod.z.object({
13730
13587
  items: getTreeDocumentBlueprintAncestorsResponse
13731
13588
  });
13732
13589
  var GetDocumentBlueprintAncestorsTool = {
13733
13590
  name: "get-document-blueprint-ancestors",
13734
13591
  description: "Gets the ancestors of a document blueprint by Id",
13735
13592
  inputSchema: getTreeDocumentBlueprintAncestorsQueryParams.shape,
13736
- outputSchema: outputSchema9.shape,
13593
+ outputSchema: outputSchema11.shape,
13737
13594
  annotations: { readOnlyHint: true },
13738
13595
  slices: ["tree"],
13739
13596
  handler: (async (params) => {
@@ -13873,14 +13730,14 @@ var create_document_blueprint_from_document_default = _mcpserversdk.withStandard
13873
13730
 
13874
13731
 
13875
13732
 
13876
- var outputSchema10 = _zod.z.object({
13733
+ var outputSchema12 = _zod.z.object({
13877
13734
  items: getItemDocumentBlueprintResponse
13878
13735
  });
13879
13736
  var GetDocumentBlueprintByIdArrayTool = {
13880
13737
  name: "get-document-blueprint-by-id-array",
13881
13738
  description: "Gets document blueprints by IDs (or empty array if no IDs are provided)",
13882
13739
  inputSchema: getItemDocumentBlueprintQueryParams.shape,
13883
- outputSchema: outputSchema10.shape,
13740
+ outputSchema: outputSchema12.shape,
13884
13741
  annotations: { readOnlyHint: true },
13885
13742
  slices: ["list"],
13886
13743
  handler: (async (params) => {
@@ -14203,14 +14060,14 @@ var get_document_domains_default = _mcpserversdk.withStandardDecorators.call(voi
14203
14060
 
14204
14061
 
14205
14062
 
14206
- var outputSchema11 = _zod.z.object({
14063
+ var outputSchema13 = _zod.z.object({
14207
14064
  items: getDocumentByIdNotificationsResponse
14208
14065
  });
14209
14066
  var GetDocumentNotificationsTool = {
14210
14067
  name: "get-document-notifications",
14211
14068
  description: "Gets the notifications for a document by Id.",
14212
14069
  inputSchema: getDocumentByIdNotificationsParams.shape,
14213
- outputSchema: outputSchema11.shape,
14070
+ outputSchema: outputSchema13.shape,
14214
14071
  annotations: {
14215
14072
  readOnlyHint: true
14216
14073
  },
@@ -14337,14 +14194,14 @@ var get_document_configuration_default = _mcpserversdk.withStandardDecorators.ca
14337
14194
 
14338
14195
 
14339
14196
 
14340
- var outputSchema12 = _zod.z.object({
14197
+ var outputSchema14 = _zod.z.object({
14341
14198
  items: getDocumentUrlsResponse
14342
14199
  });
14343
14200
  var GetDocumentUrlsTool = {
14344
14201
  name: "get-document-urls",
14345
14202
  description: "Gets the URLs for a document.",
14346
14203
  inputSchema: getDocumentUrlsQueryParams.shape,
14347
- outputSchema: outputSchema12.shape,
14204
+ outputSchema: outputSchema14.shape,
14348
14205
  annotations: {
14349
14206
  readOnlyHint: true
14350
14207
  },
@@ -14357,508 +14214,89 @@ var GetDocumentUrlsTool = {
14357
14214
  };
14358
14215
  var get_document_urls_default = _mcpserversdk.withStandardDecorators.call(void 0, GetDocumentUrlsTool);
14359
14216
 
14360
- // src/umb-management-api/tools/document/get/get-document-property-value-template.ts
14217
+ // src/umb-management-api/tools/document/get/get-document-type-schema.ts
14361
14218
 
14362
14219
 
14363
- // src/umb-management-api/tools/document/post/property-value-templates.ts
14364
- var propertyValueTemplates = {
14365
- "BlockList": {
14366
- editorAlias: "Umbraco.BlockList",
14367
- value: {
14368
- layout: {
14369
- "Umbraco.BlockList": [
14370
- {
14371
- contentKey: "7a61b31c-792f-4f6b-a665-960a90b49853"
14372
- }
14373
- ]
14374
- },
14375
- contentData: [
14376
- {
14377
- key: "7a61b31c-792f-4f6b-a665-960a90b49853",
14378
- contentTypeKey: "3a7ec32d-7fd4-49f8-aae6-d9259d5bfee1",
14379
- values: [
14380
- {
14381
- editorAlias: "Umbraco.MediaPicker3",
14382
- culture: null,
14383
- segment: null,
14384
- alias: "recipeImage",
14385
- value: [
14386
- {
14387
- key: "9bac772d-cd63-4bb6-b2db-1449042129a7",
14388
- mediaKey: "3c6c415c-35a0-4629-891e-683506250c31",
14389
- mediaTypeAlias: "",
14390
- crops: [],
14391
- focalPoint: null
14392
- }
14393
- ]
14394
- }
14395
- ]
14396
- }
14397
- ],
14398
- settingsData: [],
14399
- expose: [
14400
- {
14401
- contentKey: "7a61b31c-792f-4f6b-a665-960a90b49853",
14402
- culture: null,
14403
- segment: null
14404
- }
14405
- ]
14406
- },
14407
- _notes: "Complex structure with layout, contentData, settingsData, and expose arrays. contentData.values contains nested property values. All keys must be unique UUIDs."
14408
- },
14409
- "BlockGrid": {
14410
- editorAlias: "Umbraco.BlockGrid",
14411
- value: {
14412
- layout: {
14413
- "Umbraco.BlockGrid": [
14414
- {
14415
- contentKey: "d8fa3d28-79aa-4c60-8e73-5819ed313ea2",
14416
- columnSpan: 12,
14417
- rowSpan: 1,
14418
- areas: [
14419
- {
14420
- key: "43743e78-0f2b-465e-a3ce-f381c90b68e0",
14421
- items: [
14422
- {
14423
- contentKey: "3145f922-7ec1-41e0-99a5-d9677e558163",
14424
- settingsKey: "6248d134-4657-4605-b0d5-ae804858bb88",
14425
- columnSpan: 6,
14426
- rowSpan: 1
14427
- }
14428
- ]
14429
- }
14430
- ]
14431
- }
14432
- ]
14433
- },
14434
- contentData: [
14435
- {
14436
- key: "d8fa3d28-79aa-4c60-8e73-5819ed313ea2",
14437
- contentTypeKey: "6960aaca-0b26-4fae-9cee-db73405d7a3e",
14438
- values: [
14439
- {
14440
- editorAlias: "Umbraco.TextBox",
14441
- culture: null,
14442
- segment: null,
14443
- alias: "title",
14444
- value: "Title"
14445
- },
14446
- {
14447
- editorAlias: "Umbraco.RichText",
14448
- culture: null,
14449
- segment: null,
14450
- alias: "bodyText",
14451
- value: {
14452
- markup: "<p>Content here</p>",
14453
- blocks: {
14454
- layout: {},
14455
- contentData: [],
14456
- settingsData: [],
14457
- expose: []
14458
- }
14459
- }
14460
- },
14461
- {
14462
- editorAlias: "Umbraco.MediaPicker3",
14463
- culture: null,
14464
- segment: null,
14465
- alias: "image",
14466
- value: [
14467
- {
14468
- key: "40edd153-31eb-4c61-82fc-1ec2e695197b",
14469
- mediaKey: "3c6c415c-35a0-4629-891e-683506250c31",
14470
- mediaTypeAlias: "",
14471
- crops: [],
14472
- focalPoint: null
14473
- }
14474
- ]
14475
- }
14476
- ]
14477
- },
14478
- {
14479
- key: "3145f922-7ec1-41e0-99a5-d9677e558163",
14480
- contentTypeKey: "c80027e5-7e87-49c1-9b4f-1b9d3fbc2e90",
14481
- values: [
14482
- {
14483
- editorAlias: "Umbraco.TextBox",
14484
- culture: null,
14485
- segment: null,
14486
- alias: "title",
14487
- value: "Nested Title"
14488
- },
14489
- {
14490
- editorAlias: "Umbraco.RichText",
14491
- culture: null,
14492
- segment: null,
14493
- alias: "content",
14494
- value: {
14495
- markup: "<p>Nested content</p>",
14496
- blocks: {
14497
- layout: {},
14498
- contentData: [],
14499
- settingsData: [],
14500
- expose: []
14501
- }
14502
- }
14503
- }
14504
- ]
14505
- }
14506
- ],
14507
- settingsData: [
14508
- {
14509
- key: "6248d134-4657-4605-b0d5-ae804858bb88",
14510
- contentTypeKey: "06200e23-1c29-4298-9582-48b2eaa81fbf",
14511
- values: []
14512
- }
14513
- ],
14514
- expose: [
14515
- {
14516
- contentKey: "d8fa3d28-79aa-4c60-8e73-5819ed313ea2",
14517
- culture: null,
14518
- segment: null
14519
- },
14520
- {
14521
- contentKey: "3145f922-7ec1-41e0-99a5-d9677e558163",
14522
- culture: null,
14523
- segment: null
14524
- }
14525
- ]
14526
- },
14527
- _notes: "Complex hierarchical structure with areas and nested items. Layout defines structure with columnSpan/rowSpan. contentData stores actual content. All keys must be unique UUIDs."
14528
- },
14529
- "Decimal": {
14530
- editorAlias: "Umbraco.Decimal",
14531
- value: 1.2
14532
- },
14533
- "EmailAddress": {
14534
- editorAlias: "Umbraco.EmailAddress",
14535
- value: "admin@admin.co.uk"
14536
- },
14537
- "Integer": {
14538
- editorAlias: "Umbraco.Integer",
14539
- value: 1
14540
- },
14541
- "Tags": {
14542
- editorAlias: "Umbraco.Tags",
14543
- value: [
14544
- "Tag 1",
14545
- "Tag 2"
14546
- ]
14547
- },
14548
- "ColorPicker": {
14549
- editorAlias: "Umbraco.ColorPicker",
14550
- value: {
14551
- label: "Green",
14552
- value: "#00FF00"
14553
- }
14554
- },
14555
- "TrueFalse": {
14556
- editorAlias: "Umbraco.TrueFalse",
14557
- value: true
14558
- },
14559
- "CheckBoxList": {
14560
- editorAlias: "Umbraco.CheckBoxList",
14561
- value: [
14562
- "item 1",
14563
- "items 2"
14564
- ]
14565
- },
14566
- "Dropdown": {
14567
- editorAlias: "Umbraco.DropDown.Flexible",
14568
- value: [
14569
- "Item 3"
14570
- ]
14571
- },
14572
- "MultipleTextstring": {
14573
- editorAlias: "Umbraco.MultipleTextstring",
14574
- value: [
14575
- "Item 1",
14576
- "item 2"
14577
- ]
14578
- },
14579
- "RadioButtonList": {
14580
- editorAlias: "Umbraco.RadioButtonList",
14581
- value: "item 1"
14582
- },
14583
- "ImageCropper": {
14584
- editorAlias: "Umbraco.ImageCropper",
14585
- value: {
14586
- temporaryFileId: "b45eb1dd-2959-4b0b-a675-761b6a19824c",
14587
- src: "",
14588
- crops: [],
14589
- focalPoint: {
14590
- left: 0.5,
14591
- top: 0.5
14592
- }
14593
- },
14594
- _notes: "IMPORTANT: Requires a temporary file uploaded first. Use the temporaryFileId from the upload response."
14595
- },
14596
- "MediaPicker3": {
14597
- editorAlias: "Umbraco.MediaPicker3",
14598
- value: [
14599
- {
14600
- key: "4c82123c-cd3e-4d92-84b8-9c79ad5a5319",
14601
- mediaKey: "3c6c415c-35a0-4629-891e-683506250c31",
14602
- mediaTypeAlias: "",
14603
- crops: [],
14604
- focalPoint: null
14605
- }
14606
- ],
14607
- _notes: "The key is generated by you. The mediaKey relates to an existing media item id."
14608
- },
14609
- "UploadField": {
14610
- editorAlias: "Umbraco.UploadField",
14611
- value: {
14612
- src: "blob:http://localhost:56472/0884388b-41a3-46c2-a224-9b9ff02de24a",
14613
- temporaryFileId: "fc76f270-83c2-4daa-ba8b-fde4554dda2a"
14614
- },
14615
- _notes: "IMPORTANT: Requires a temporary file uploaded first. Use the temporaryFileId from the upload response."
14616
- },
14617
- "Slider": {
14618
- editorAlias: "Umbraco.Slider",
14619
- value: {
14620
- from: 31,
14621
- to: 31
14622
- }
14623
- },
14624
- "MemberGroupPicker": {
14625
- editorAlias: "Umbraco.MemberGroupPicker",
14626
- value: "9815503d-a5a9-487f-aee3-827ca43fdb2c",
14627
- _notes: "The value relates to an existing member group id."
14628
- },
14629
- "MemberPicker": {
14630
- editorAlias: "Umbraco.MemberPicker",
14631
- value: "f8abd31e-c78d-46ea-bb6b-c00cb9107bfb",
14632
- _notes: "The value relates to an existing member id."
14633
- },
14634
- "UserPicker": {
14635
- editorAlias: "Umbraco.UserPicker",
14636
- value: "1e70f841-c261-413b-abb2-2d68cdb96094",
14637
- _notes: "The value relates to an existing user id."
14638
- },
14639
- "MultiNodeTreePicker": {
14640
- editorAlias: "Umbraco.MultiNodeTreePicker",
14641
- value: [
14642
- {
14643
- type: "document",
14644
- unique: "dcf18a51-6919-4cf8-89d1-36b94ce4d963"
14645
- }
14646
- ],
14647
- _notes: "The unique property relates to an existing document, media, or member id. Type can be 'document', 'media', or 'member'."
14648
- },
14649
- "DateTime": {
14650
- editorAlias: "Umbraco.DateTime",
14651
- value: "2025-05-23 00:00:00"
14652
- },
14653
- "ContentPicker": {
14654
- editorAlias: "Umbraco.ContentPicker",
14655
- value: "dcf18a51-6919-4cf8-89d1-36b94ce4d963",
14656
- _notes: "The value relates to an existing document id."
14657
- },
14658
- "ColorPickerEyeDropper": {
14659
- editorAlias: "Umbraco.ColorPicker.EyeDropper",
14660
- value: "#982020"
14661
- },
14662
- "MultiUrlPicker": {
14663
- editorAlias: "Umbraco.MultiUrlPicker",
14664
- value: [
14665
- {
14666
- icon: "icon-home color-blue",
14667
- name: "Home",
14668
- type: "document",
14669
- unique: "dcf18a51-6919-4cf8-89d1-36b94ce4d963",
14670
- url: "/"
14671
- },
14672
- {
14673
- icon: "icon-picture",
14674
- name: "Chairs lamps",
14675
- type: "media",
14676
- unique: "3c6c415c-35a0-4629-891e-683506250c31",
14677
- url: "http://localhost:56472/media/0ofdvcwj/chairs-lamps.jpg"
14678
- },
14679
- {
14680
- name: "Title",
14681
- target: "_blank",
14682
- type: "external",
14683
- url: "www.google.com"
14684
- }
14685
- ],
14686
- _notes: "Can contain document, media, or external link entries. For document/media, unique is the content id."
14687
- },
14688
- "MarkdownEditor": {
14689
- editorAlias: "Umbraco.MarkdownEditor",
14690
- value: "Markdown"
14691
- },
14692
- "CodeEditor": {
14693
- editorAlias: "Umbraco.CodeEditor",
14694
- value: "Code"
14695
- },
14696
- "Textbox": {
14697
- editorAlias: "Umbraco.TextBox",
14698
- value: "some string"
14699
- },
14700
- "TextArea": {
14701
- editorAlias: "Umbraco.TextArea",
14702
- value: "some string"
14703
- },
14704
- "RichTextEditor": {
14705
- editorAlias: "Umbraco.RichText",
14706
- value: {
14707
- markup: "<p>some string</p>",
14708
- blocks: {
14709
- layout: {},
14710
- contentData: [],
14711
- settingsData: [],
14712
- expose: []
14713
- }
14714
- },
14715
- _notes: "The blocks property has the same structure as BlockList. Can include nested block content within the rich text."
14716
- }
14717
- };
14718
-
14719
- // src/umb-management-api/tools/document/get/get-document-property-value-template.ts
14720
-
14721
-
14722
-
14723
- var propertyValueTemplateSchema = _zod.z.object({
14724
- editorAlias: _zod.z.string().optional().describe("The editor alias of the property value template to retrieve (e.g., 'Umbraco.TextBox', 'Umbraco.BlockList', 'Umbraco.MediaPicker3'). If not provided, returns a list of all available property editor aliases.")
14725
- });
14726
- var GetDocumentPropertyValueTemplateTool = {
14727
- name: "get-document-property-value-template",
14728
- description: `Retrieves property value templates for creating documents in Umbraco.
14729
14220
 
14730
- IMPORTANT: This tool should be used BEFORE creating documents to understand:
14731
- - What property editors are available
14732
- - The required value structure for each property editor
14733
- - Example values that can be customized for your needs
14734
14221
 
14735
- Usage:
14736
- 1. Call without parameters to see all available property editor aliases
14737
- 2. Call with a specific editorAlias to get the full value template for that property editor
14738
- 3. Use the returned template as a starting point when creating document property values with create-document
14739
-
14740
- The templates include:
14741
- - editorAlias: The property editor identifier (required in create-document values array)
14742
- - value: Example value structure showing the expected format
14743
- - _notes: Important information about special requirements (IDs, temporary files, etc.)
14744
-
14745
- IMPORTANT: Templates only provide editorAlias and value structure. When using with create-document, you must also provide:
14746
- - culture: The culture code or null
14747
- - segment: The segment or null
14748
- - alias: The property alias from your document type
14749
-
14750
- Note: Some templates (BlockList, BlockGrid, ImageCropper, UploadField) have special requirements indicated in their _notes.`,
14751
- inputSchema: propertyValueTemplateSchema.shape,
14752
- annotations: {
14753
- readOnlyHint: true
14754
- },
14755
- slices: ["read"],
14756
- handler: (async (model) => {
14757
- try {
14758
- if (!model.editorAlias) {
14759
- const availableEditors = Object.entries(propertyValueTemplates).map(([name, config]) => {
14760
- const hasNotes = config._notes ? ` (IMPORTANT: ${config._notes.substring(0, 50)}${config._notes.length > 50 ? "..." : ""})` : "";
14761
- return `- ${name} (${config.editorAlias})${hasNotes}`;
14762
- }).sort().join("\n");
14763
- return {
14764
- content: [
14765
- {
14766
- type: "text",
14767
- text: `Available Property Value Templates:
14768
-
14769
- ${availableEditors}
14770
-
14771
- Use get-document-property-value-template with a specific editorAlias to see the full value structure.`
14772
- }
14773
- ]
14774
- };
14775
- }
14776
- const editorKey = Object.keys(propertyValueTemplates).find(
14777
- (key) => propertyValueTemplates[key].editorAlias.toLowerCase() === model.editorAlias.toLowerCase()
14778
- );
14779
- if (!editorKey) {
14780
- const editorKeyByName = Object.keys(propertyValueTemplates).find(
14781
- (key) => key.toLowerCase() === model.editorAlias.toLowerCase()
14782
- );
14783
- if (!editorKeyByName) {
14784
- const availableAliases = Object.values(propertyValueTemplates).map((t) => t.editorAlias).sort().join(", ");
14785
- return {
14786
- content: [
14787
- {
14788
- type: "text",
14789
- text: `Property value template with editorAlias '${model.editorAlias}' not found.
14790
14222
 
14791
- Available editor aliases: ${availableAliases}
14792
14223
 
14793
- Note: Matching is case-insensitive. You can also use the template name (e.g., 'Textbox' instead of 'Umbraco.TextBox').`
14794
- }
14795
- ],
14796
- isError: true
14797
- };
14798
- }
14799
- const template2 = propertyValueTemplates[editorKeyByName];
14800
- return buildTemplateResponse(editorKeyByName, template2);
14801
- }
14802
- const template = propertyValueTemplates[editorKey];
14803
- return buildTemplateResponse(editorKey, template);
14804
- } catch (error) {
14805
- console.error("Error reading property value templates:", error);
14806
- return {
14807
- content: [
14808
- {
14809
- type: "text",
14810
- text: `Error reading property value templates: ${error instanceof Error ? error.message : String(error)}`
14811
- }
14812
- ],
14813
- isError: true
14814
- };
14815
- }
14816
- })
14817
- };
14818
- function buildTemplateResponse(editorKey, template) {
14819
- let response = `Property Value Template: ${editorKey}
14224
+ // src/umb-management-api/tools/document/get/get-document-type-schema-modern.ts
14820
14225
 
14821
- `;
14822
- if (template._notes) {
14823
- response += `IMPORTANT NOTES:
14824
- ${template._notes}
14226
+ async function getDocumentTypeSchemaFromApi(id) {
14227
+ const client = UmbracoManagementClient3.getClient();
14228
+ const response = await client.getDocumentTypeByIdSchema(
14229
+ id,
14230
+ _mcpserversdk.CAPTURE_RAW_HTTP_RESPONSE
14231
+ );
14232
+ return { schema: response.data };
14233
+ }
14825
14234
 
14826
- `;
14827
- }
14828
- response += `Template:
14829
- ${JSON.stringify({ editorAlias: template.editorAlias, value: template.value }, null, 2)}
14830
-
14831
- `;
14832
- response += `Usage with create-document:
14833
- `;
14834
- response += `When creating a document with this property, include in the values array:
14835
- `;
14836
- response += `{
14837
- `;
14838
- response += ` "editorAlias": "${template.editorAlias}", // From template
14839
- `;
14840
- response += ` "culture": null, // Document-specific: culture code or null
14841
- `;
14842
- response += ` "segment": null, // Document-specific: segment or null
14843
- `;
14844
- response += ` "alias": "yourPropertyAlias", // Document-specific: property alias from document type
14845
- `;
14846
- response += ` "value": <customize from template> // From template - customize as needed
14847
- `;
14848
- response += `}
14849
-
14850
- `;
14851
- response += `The template provides editorAlias and value structure. You must add culture, segment, and alias based on your document requirements.`;
14235
+ // src/umb-management-api/tools/document/get/get-document-type-schema-legacy.ts
14236
+ function findTemplateByEditorAlias2(editorAlias) {
14237
+ const key = Object.keys(propertyValueTemplates).find(
14238
+ (k) => propertyValueTemplates[k].editorAlias.toLowerCase() === editorAlias.toLowerCase()
14239
+ );
14240
+ return key ? propertyValueTemplates[key] : void 0;
14241
+ }
14242
+ function buildPropertyEntry(prop, dataType, template) {
14852
14243
  return {
14853
- content: [
14854
- {
14855
- type: "text",
14856
- text: response
14857
- }
14858
- ]
14244
+ title: prop.name,
14245
+ description: _nullishCoalesce(prop.description, () => ( void 0)),
14246
+ editorAlias: dataType.editorAlias,
14247
+ dataTypeId: dataType.id,
14248
+ dataTypeName: dataType.name,
14249
+ example: _optionalChain([template, 'optionalAccess', _11 => _11.value]),
14250
+ notes: _optionalChain([template, 'optionalAccess', _12 => _12._notes])
14859
14251
  };
14860
14252
  }
14861
- var get_document_property_value_template_default = _mcpserversdk.withStandardDecorators.call(void 0, GetDocumentPropertyValueTemplateTool);
14253
+ async function synthesizeDocumentTypeSchema(id) {
14254
+ const client = UmbracoManagementClient3.getClient();
14255
+ const docType = await client.getDocumentTypeById(id);
14256
+ const propertyEntries = {};
14257
+ for (const prop of docType.properties) {
14258
+ const dataType = await client.getDataTypeById(
14259
+ prop.dataType.id
14260
+ );
14261
+ const template = findTemplateByEditorAlias2(dataType.editorAlias);
14262
+ propertyEntries[prop.alias] = buildPropertyEntry(prop, dataType, template);
14263
+ }
14264
+ const schema = {
14265
+ $schema: "https://json-schema.org/draft/2020-12/schema",
14266
+ title: docType.name,
14267
+ description: _nullishCoalesce(docType.description, () => ( "Synthesized from hardcoded property-value templates (Umbraco < 17.4 fallback).")),
14268
+ type: "object",
14269
+ documentTypeId: docType.id,
14270
+ documentTypeAlias: docType.alias,
14271
+ properties: propertyEntries
14272
+ };
14273
+ return { schema };
14274
+ }
14275
+
14276
+ // src/umb-management-api/tools/document/get/get-document-type-schema.ts
14277
+ var documentTypeSchemaOutputSchema = _zod.z.object({
14278
+ schema: _zod.z.unknown()
14279
+ });
14280
+ var outputSchema15 = documentTypeSchemaOutputSchema;
14281
+ var GetDocumentTypeSchemaTool = {
14282
+ name: "get-document-type-schema",
14283
+ description: `Gets the JSON Schema for a document type by Id.
14284
+
14285
+ Returns a complete JSON Schema describing the structure for creating documents of that type, including all property definitions and their value formats.
14286
+
14287
+ IMPORTANT: Use this tool BEFORE creating documents to understand the expected property structure for a specific document type.`,
14288
+ inputSchema: getDocumentTypeByIdSchemaParams.shape,
14289
+ outputSchema: outputSchema15.shape,
14290
+ annotations: {
14291
+ readOnlyHint: true
14292
+ },
14293
+ slices: ["read"],
14294
+ handler: async ({ id }) => {
14295
+ const result = isUmbracoAtLeast(17, 4) ? await getDocumentTypeSchemaFromApi(id) : await synthesizeDocumentTypeSchema(id);
14296
+ return _mcpserversdk.createToolResult.call(void 0, result);
14297
+ }
14298
+ };
14299
+ var get_document_type_schema_default = _mcpserversdk.withStandardDecorators.call(void 0, GetDocumentTypeSchemaTool);
14862
14300
 
14863
14301
  // src/umb-management-api/tools/document/get/search-document.ts
14864
14302
 
@@ -14926,14 +14364,14 @@ var get_collection_document_by_id_default = _mcpserversdk.withStandardDecorators
14926
14364
 
14927
14365
 
14928
14366
 
14929
- var outputSchema13 = _zod.z.object({
14367
+ var outputSchema16 = _zod.z.object({
14930
14368
  items: getItemDocumentResponse
14931
14369
  });
14932
14370
  var GetItemDocumentTool = {
14933
14371
  name: "get-item-document",
14934
14372
  description: "Gets document items by their ids",
14935
14373
  inputSchema: getItemDocumentQueryParams.shape,
14936
- outputSchema: outputSchema13.shape,
14374
+ outputSchema: outputSchema16.shape,
14937
14375
  annotations: {
14938
14376
  readOnlyHint: true
14939
14377
  },
@@ -15211,7 +14649,7 @@ var CopyDocumentTool = {
15211
14649
  validateStatus: () => true
15212
14650
  });
15213
14651
  if (response.status === 201) {
15214
- const location = _optionalChain([response, 'access', _8 => _8.headers, 'optionalAccess', _9 => _9.location]) || "";
14652
+ const location = _optionalChain([response, 'access', _13 => _13.headers, 'optionalAccess', _14 => _14.location]) || "";
15215
14653
  const newId = location.split("/").pop() || "";
15216
14654
  const output = { id: newId };
15217
14655
  return _mcpserversdk.createToolResult.call(void 0, output);
@@ -15243,6 +14681,9 @@ var createDocumentSchema = _zod.z.object({
15243
14681
  documentTypeId: _zod.z.string().uuid("Must be a valid document type type UUID"),
15244
14682
  parentId: _zod.z.string().uuid("Must be a valid document UUID").optional(),
15245
14683
  name: _zod.z.string(),
14684
+ templateId: _zod.z.string().uuid("Must be a valid template UUID").optional().describe(
14685
+ "Optional template ID to apply to the document. If omitted, the document type's default template is applied automatically. Provide a value only when you need a specific allowed template other than the default."
14686
+ ),
15246
14687
  cultures: _zod.z.array(_zod.z.string()).optional().describe("Array of culture codes. If not provided or empty array, will create single variant with null culture."),
15247
14688
  values: _zod.z.array(
15248
14689
  _zod.z.object({
@@ -15311,22 +14752,23 @@ var CreateDocumentTool = {
15311
14752
 
15312
14753
  When creating documents, you need to provide property values that match the property editors defined in the document type.
15313
14754
 
15314
- IMPORTANT: Use the get-document-property-value-template tool to:
15315
- - View all available property editors (call without parameters)
15316
- - Get the correct value structure for a specific property editor (call with editorAlias parameter)
15317
- - Each template provides the editorAlias and value format
15318
- - You must add culture, segment, and alias based on your document's specific requirements
14755
+ IMPORTANT: Use the get-document-type-schema tool to:
14756
+ - Get the JSON Schema describing the expected property structure for a specific document type
14757
+ - The schema includes all property definitions and their value formats
14758
+ - Use the schema to construct the correct values array for your document
15319
14759
 
15320
14760
  The values parameter is an array of property value objects following this structure:
15321
14761
  {
15322
- "editorAlias": "Umbraco.TextBox", // From template - the property editor type
14762
+ "editorAlias": "Umbraco.TextBox", // The property editor type
15323
14763
  "culture": null, // Document-specific - culture code or null
15324
14764
  "segment": null, // Document-specific - segment or null
15325
- "alias": "propertyAlias", // Document-specific - property alias from document type
15326
- "value": "your value here" // From template - customize the value structure
14765
+ "alias": "propertyAlias", // Property alias from document type
14766
+ "value": "your value here" // Value matching the schema structure
15327
14767
  }
15328
14768
 
15329
- Note: Some property editors (BlockList, BlockGrid, ImageCropper, UploadField) have special requirements - check their templates for important notes.
14769
+ ## Default Template
14770
+
14771
+ The document type's default template is applied automatically. Pass an explicit \`templateId\` only when you need a specific allowed template other than the default. If the document type has no default template, the document is created without one.
15330
14772
  `,
15331
14773
  inputSchema: createDocumentSchema.shape,
15332
14774
  outputSchema: createOutputSchema.shape,
@@ -15346,6 +14788,13 @@ var CreateDocumentTool = {
15346
14788
  name: model.name,
15347
14789
  segment: null
15348
14790
  }));
14791
+ let template;
14792
+ if (model.templateId) {
14793
+ template = { id: model.templateId };
14794
+ } else {
14795
+ const docType = await client.getDocumentTypeById(model.documentTypeId);
14796
+ template = _optionalChain([docType, 'access', _15 => _15.defaultTemplate, 'optionalAccess', _16 => _16.id]) ? { id: docType.defaultTemplate.id } : null;
14797
+ }
15349
14798
  const payload = {
15350
14799
  id: documentId,
15351
14800
  documentType: {
@@ -15354,7 +14803,7 @@ var CreateDocumentTool = {
15354
14803
  parent: model.parentId ? {
15355
14804
  id: model.parentId
15356
14805
  } : void 0,
15357
- template: null,
14806
+ template,
15358
14807
  values: model.values,
15359
14808
  variants
15360
14809
  };
@@ -16117,23 +15566,25 @@ var UpdateDocumentPropertiesTool = {
16117
15566
  }
16118
15567
  });
16119
15568
  }
16120
- const allPropertiesToValidate = [...propertiesToUpdate, ...propertiesToAdd];
16121
- if (allPropertiesToValidate.length > 0) {
16122
- const docTypeProps = await getDocumentTypeProperties();
16123
- const propsToValidate = allPropertiesToValidate.map((p) => {
16124
- const def = docTypeProps.find((d) => d.alias === p.alias);
16125
- return { alias: p.alias, value: p.value, dataTypeId: _nullishCoalesce(_optionalChain([def, 'optionalAccess', _10 => _10.dataTypeId]), () => ( "")) };
16126
- }).filter((p) => p.dataTypeId);
16127
- if (propsToValidate.length > 0) {
16128
- const valueValidation = await validatePropertiesBeforeSave(propsToValidate);
16129
- if (!valueValidation.isValid) {
16130
- throw new (0, _mcpserversdk.ToolValidationError)({
16131
- title: "Property value validation failed",
16132
- detail: valueValidation.errors.join("; "),
16133
- extensions: {
16134
- errors: valueValidation.errors
16135
- }
16136
- });
15569
+ if (!isUmbracoAtLeast(17, 4)) {
15570
+ const allPropertiesToValidate = [...propertiesToUpdate, ...propertiesToAdd];
15571
+ if (allPropertiesToValidate.length > 0) {
15572
+ const docTypeProps = await getDocumentTypeProperties();
15573
+ const propsToValidate = allPropertiesToValidate.map((p) => {
15574
+ const def = docTypeProps.find((d) => d.alias === p.alias);
15575
+ return { alias: p.alias, value: p.value, dataTypeId: _nullishCoalesce(_optionalChain([def, 'optionalAccess', _17 => _17.dataTypeId]), () => ( "")) };
15576
+ }).filter((p) => p.dataTypeId);
15577
+ if (propsToValidate.length > 0) {
15578
+ const valueValidation = await validatePropertiesBeforeSave(propsToValidate);
15579
+ if (!valueValidation.isValid) {
15580
+ throw new (0, _mcpserversdk.ToolValidationError)({
15581
+ title: "Property value validation failed",
15582
+ detail: valueValidation.errors.join("; "),
15583
+ extensions: {
15584
+ errors: valueValidation.errors
15585
+ }
15586
+ });
15587
+ }
16137
15588
  }
16138
15589
  }
16139
15590
  }
@@ -16411,10 +15862,10 @@ var UpdateBlockPropertyTool = {
16411
15862
  let updatedCount = 0;
16412
15863
  let addedCount = 0;
16413
15864
  const elementTypeProperties = await getElementTypeProperties(foundBlock.block.contentTypeKey);
16414
- if (elementTypeProperties.length > 0) {
15865
+ if (!isUmbracoAtLeast(17, 4) && elementTypeProperties.length > 0) {
16415
15866
  const propsToValidate = update.properties.map((p) => {
16416
15867
  const def = elementTypeProperties.find((d) => d.alias === p.alias);
16417
- return { alias: p.alias, value: p.value, dataTypeId: _nullishCoalesce(_optionalChain([def, 'optionalAccess', _11 => _11.dataTypeId]), () => ( "")) };
15868
+ return { alias: p.alias, value: p.value, dataTypeId: _nullishCoalesce(_optionalChain([def, 'optionalAccess', _18 => _18.dataTypeId]), () => ( "")) };
16418
15869
  }).filter((p) => p.dataTypeId);
16419
15870
  if (propsToValidate.length > 0) {
16420
15871
  const valueValidation = await validatePropertiesBeforeSave(propsToValidate);
@@ -16570,14 +16021,14 @@ var get_children_default4 = _mcpserversdk.withStandardDecorators.call(void 0, Ge
16570
16021
 
16571
16022
 
16572
16023
 
16573
- var outputSchema14 = _zod.z.object({
16024
+ var outputSchema17 = _zod.z.object({
16574
16025
  items: getTreeDocumentAncestorsResponse
16575
16026
  });
16576
16027
  var GetDocumentAncestorsTool = {
16577
16028
  name: "get-document-ancestors",
16578
16029
  description: "Gets ancestor items for a document.",
16579
16030
  inputSchema: getTreeDocumentAncestorsQueryParams.shape,
16580
- outputSchema: outputSchema14.shape,
16031
+ outputSchema: outputSchema17.shape,
16581
16032
  annotations: {
16582
16033
  readOnlyHint: true
16583
16034
  },
@@ -16597,7 +16048,7 @@ var get_ancestors_default4 = _mcpserversdk.withStandardDecorators.call(void 0, G
16597
16048
 
16598
16049
 
16599
16050
 
16600
- var outputSchema15 = _zod.z.object({
16051
+ var outputSchema18 = _zod.z.object({
16601
16052
  items: getItemDocumentAncestorsResponse
16602
16053
  });
16603
16054
  var GetDocumentAncestorsBatchTool = {
@@ -16606,7 +16057,7 @@ var GetDocumentAncestorsBatchTool = {
16606
16057
  Returns one entry per requested Id, each containing that Id's chain of ancestors.
16607
16058
  Differs from get-document-ancestors which returns the tree-style ancestors of a single Id.`,
16608
16059
  inputSchema: getItemDocumentAncestorsQueryParams.shape,
16609
- outputSchema: outputSchema15.shape,
16060
+ outputSchema: outputSchema18.shape,
16610
16061
  annotations: {
16611
16062
  readOnlyHint: true
16612
16063
  },
@@ -16725,7 +16176,7 @@ var DocumentCollection = {
16725
16176
  tools.push(get_document_by_id_default);
16726
16177
  tools.push(get_document_publish_default);
16727
16178
  tools.push(get_document_configuration_default);
16728
- tools.push(get_document_property_value_template_default);
16179
+ tools.push(get_document_type_schema_default);
16729
16180
  tools.push(copy_document_default);
16730
16181
  tools.push(create_document_default);
16731
16182
  tools.push(post_document_public_access_default);
@@ -17074,7 +16525,7 @@ var CopyDocumentTypeTool = {
17074
16525
  validateStatus: () => true
17075
16526
  });
17076
16527
  if (response.status === 201) {
17077
- const location = _optionalChain([response, 'access', _12 => _12.headers, 'optionalAccess', _13 => _13.location]) || "";
16528
+ const location = _optionalChain([response, 'access', _19 => _19.headers, 'optionalAccess', _20 => _20.location]) || "";
17078
16529
  const newId = location.split("/").pop() || "";
17079
16530
  const output = { id: newId };
17080
16531
  return _mcpserversdk.createToolResult.call(void 0, output);
@@ -17162,14 +16613,14 @@ var get_children_default5 = _mcpserversdk.withStandardDecorators.call(void 0, Ge
17162
16613
 
17163
16614
 
17164
16615
 
17165
- var outputSchema16 = _zod.z.object({
16616
+ var outputSchema19 = _zod.z.object({
17166
16617
  items: getTreeDocumentTypeAncestorsResponse
17167
16618
  });
17168
16619
  var GetDocumentTypeAncestorsTool = {
17169
16620
  name: "get-document-type-ancestors",
17170
16621
  description: "Gets the ancestors of a document type",
17171
16622
  inputSchema: getTreeDocumentTypeAncestorsQueryParams.shape,
17172
- outputSchema: outputSchema16.shape,
16623
+ outputSchema: outputSchema19.shape,
17173
16624
  annotations: { readOnlyHint: true },
17174
16625
  slices: ["tree"],
17175
16626
  handler: (async (params) => {
@@ -17187,7 +16638,7 @@ var get_ancestors_default5 = _mcpserversdk.withStandardDecorators.call(void 0, G
17187
16638
 
17188
16639
 
17189
16640
 
17190
- var outputSchema17 = _zod.z.object({
16641
+ var outputSchema20 = _zod.z.object({
17191
16642
  items: getItemDocumentTypeAncestorsResponse
17192
16643
  });
17193
16644
  var GetDocumentTypeAncestorsBatchTool = {
@@ -17196,7 +16647,7 @@ var GetDocumentTypeAncestorsBatchTool = {
17196
16647
  Returns one entry per requested Id, each containing that Id's chain of ancestors.
17197
16648
  Differs from get-document-type-ancestors which returns the tree-style ancestors of a single Id.`,
17198
16649
  inputSchema: getItemDocumentTypeAncestorsQueryParams.shape,
17199
- outputSchema: outputSchema17.shape,
16650
+ outputSchema: outputSchema20.shape,
17200
16651
  annotations: {
17201
16652
  readOnlyHint: true
17202
16653
  },
@@ -17399,14 +16850,14 @@ var get_document_type_blueprint_default = _mcpserversdk.withStandardDecorators.c
17399
16850
 
17400
16851
 
17401
16852
 
17402
- var outputSchema18 = _zod.z.object({
16853
+ var outputSchema21 = _zod.z.object({
17403
16854
  items: getDocumentTypeByIdCompositionReferencesResponse
17404
16855
  });
17405
16856
  var GetDocumentTypeCompositionReferencesTool = {
17406
16857
  name: "get-document-type-composition-references",
17407
16858
  description: "Gets the composition references for a document type",
17408
16859
  inputSchema: getDocumentTypeByIdCompositionReferencesParams.shape,
17409
- outputSchema: outputSchema18.shape,
16860
+ outputSchema: outputSchema21.shape,
17410
16861
  annotations: { readOnlyHint: true },
17411
16862
  slices: ["references"],
17412
16863
  handler: (async ({ id }) => {
@@ -17424,14 +16875,14 @@ var get_document_type_composition_references_default = _mcpserversdk.withStandar
17424
16875
 
17425
16876
 
17426
16877
 
17427
- var outputSchema19 = _zod.z.object({
16878
+ var outputSchema22 = _zod.z.object({
17428
16879
  items: postDocumentTypeAvailableCompositionsResponse
17429
16880
  });
17430
16881
  var GetDocumentTypeAvailableCompositionsTool = {
17431
16882
  name: "get-document-type-available-compositions",
17432
16883
  description: "Gets the available compositions for a document type",
17433
16884
  inputSchema: postDocumentTypeAvailableCompositionsBody.shape,
17434
- outputSchema: outputSchema19.shape,
16885
+ outputSchema: outputSchema22.shape,
17435
16886
  annotations: { readOnlyHint: true },
17436
16887
  slices: ["read"],
17437
16888
  handler: (async (model) => {
@@ -17497,14 +16948,14 @@ var get_document_type_configuration_default = _mcpserversdk.withStandardDecorato
17497
16948
 
17498
16949
 
17499
16950
 
17500
- var outputSchema20 = _zod.z.object({
16951
+ var outputSchema23 = _zod.z.object({
17501
16952
  items: getItemDocumentTypeResponse
17502
16953
  });
17503
16954
  var GetDocumentTypesByIdArrayTool = {
17504
16955
  name: "get-document-types-by-id-array",
17505
16956
  description: "Gets document types by IDs (or empty array if no IDs are provided)",
17506
16957
  inputSchema: getItemDocumentTypeQueryParams.shape,
17507
- outputSchema: outputSchema20.shape,
16958
+ outputSchema: outputSchema23.shape,
17508
16959
  annotations: { readOnlyHint: true },
17509
16960
  slices: ["list"],
17510
16961
  handler: (async (params) => {
@@ -18211,7 +17662,7 @@ var create_element_type_default = _mcpserversdk.withStandardDecorators.call(void
18211
17662
 
18212
17663
 
18213
17664
 
18214
- var outputSchema21 = _zod.z.object({
17665
+ var outputSchema24 = _zod.z.object({
18215
17666
  items: getTreeDocumentTypeRootResponse.shape.items
18216
17667
  });
18217
17668
  var GetAllDocumentTypesTool = {
@@ -18220,7 +17671,7 @@ var GetAllDocumentTypesTool = {
18220
17671
  This is the preferred approach when you need to understand the full folder structure.
18221
17672
  For large sites, this may take a while to complete. For smaller sites its more efficient than fetching all documents by folder.`,
18222
17673
  inputSchema: {},
18223
- outputSchema: outputSchema21.shape,
17674
+ outputSchema: outputSchema24.shape,
18224
17675
  annotations: { readOnlyHint: true },
18225
17676
  slices: ["list"],
18226
17677
  handler: (async () => {
@@ -18528,7 +17979,7 @@ var HealthCollection = {
18528
17979
 
18529
17980
 
18530
17981
 
18531
- var outputSchema22 = _zod.z.object({
17982
+ var outputSchema25 = _zod.z.object({
18532
17983
  items: getImagingResizeUrlsResponse
18533
17984
  });
18534
17985
  var GetImagingResizeUrlsTool = {
@@ -18545,7 +17996,7 @@ var GetImagingResizeUrlsTool = {
18545
17996
  - width: Target width in pixels (default: 200)
18546
17997
  - mode: Resize mode (Crop, Max, Stretch, Pad, BoxPad, Min)`,
18547
17998
  inputSchema: getImagingResizeUrlsQueryParams.shape,
18548
- outputSchema: outputSchema22.shape,
17999
+ outputSchema: outputSchema25.shape,
18549
18000
  annotations: {
18550
18001
  readOnlyHint: true
18551
18002
  },
@@ -18672,14 +18123,14 @@ var IndexerCollection = {
18672
18123
 
18673
18124
 
18674
18125
 
18675
- var outputSchema23 = _zod.z.object({
18126
+ var outputSchema26 = _zod.z.object({
18676
18127
  items: getItemLanguageResponse
18677
18128
  });
18678
18129
  var GetLanguageItemsTool = {
18679
18130
  name: "get-language-items",
18680
18131
  description: "Gets language items (optionally filtered by isoCode)",
18681
18132
  inputSchema: getItemLanguageQueryParams.shape,
18682
- outputSchema: outputSchema23.shape,
18133
+ outputSchema: outputSchema26.shape,
18683
18134
  annotations: {
18684
18135
  readOnlyHint: true
18685
18136
  },
@@ -19109,14 +18560,14 @@ var LogViewerCollection = {
19109
18560
 
19110
18561
 
19111
18562
 
19112
- var outputSchema24 = _zod.z.object({
18563
+ var outputSchema27 = _zod.z.object({
19113
18564
  items: getManifestManifestResponse
19114
18565
  });
19115
18566
  var GetManifestManifestTool = {
19116
18567
  name: "get-manifest-manifest",
19117
18568
  description: "Gets all manifests (both public and private) from the Umbraco installation. Each manifest contains an extensions property showing what the package exposes to Umbraco. Use to see which packages are installed, troubleshoot package issues, or list available extensions.",
19118
18569
  inputSchema: {},
19119
- outputSchema: outputSchema24.shape,
18570
+ outputSchema: outputSchema27.shape,
19120
18571
  annotations: {
19121
18572
  readOnlyHint: true
19122
18573
  },
@@ -19136,14 +18587,14 @@ var get_manifest_manifest_default = _mcpserversdk.withStandardDecorators.call(vo
19136
18587
 
19137
18588
 
19138
18589
 
19139
- var outputSchema25 = _zod.z.object({
18590
+ var outputSchema28 = _zod.z.object({
19140
18591
  items: getManifestManifestPrivateResponse
19141
18592
  });
19142
18593
  var GetManifestManifestPrivateTool = {
19143
18594
  name: "get-manifest-manifest-private",
19144
18595
  description: "Gets private manifests from the Umbraco installation. Private manifests require authentication and contain administrative/sensitive extensions.",
19145
18596
  inputSchema: {},
19146
- outputSchema: outputSchema25.shape,
18597
+ outputSchema: outputSchema28.shape,
19147
18598
  annotations: {
19148
18599
  readOnlyHint: true
19149
18600
  },
@@ -19163,14 +18614,14 @@ var get_manifest_manifest_private_default = _mcpserversdk.withStandardDecorators
19163
18614
 
19164
18615
 
19165
18616
 
19166
- var outputSchema26 = _zod.z.object({
18617
+ var outputSchema29 = _zod.z.object({
19167
18618
  items: getManifestManifestPublicResponse
19168
18619
  });
19169
18620
  var GetManifestManifestPublicTool = {
19170
18621
  name: "get-manifest-manifest-public",
19171
18622
  description: "Gets public manifests from the Umbraco installation. Public manifests can be accessed without authentication and contain public-facing extensions.",
19172
18623
  inputSchema: {},
19173
- outputSchema: outputSchema26.shape,
18624
+ outputSchema: outputSchema29.shape,
19174
18625
  annotations: {
19175
18626
  readOnlyHint: true
19176
18627
  },
@@ -19271,7 +18722,7 @@ function getExtensionFromMimeType(mimeType) {
19271
18722
  return extension ? `.${extension}` : void 0;
19272
18723
  }
19273
18724
  function validateMediaTypeForSvg(filePath, fileUrl, fileName, mediaTypeName) {
19274
- const isSvg = _optionalChain([filePath, 'optionalAccess', _14 => _14.toLowerCase, 'call', _15 => _15(), 'access', _16 => _16.endsWith, 'call', _17 => _17(".svg")]) || _optionalChain([fileUrl, 'optionalAccess', _18 => _18.toLowerCase, 'call', _19 => _19(), 'access', _20 => _20.endsWith, 'call', _21 => _21(".svg")]) || fileName.toLowerCase().endsWith(".svg");
18725
+ const isSvg = _optionalChain([filePath, 'optionalAccess', _21 => _21.toLowerCase, 'call', _22 => _22(), 'access', _23 => _23.endsWith, 'call', _24 => _24(".svg")]) || _optionalChain([fileUrl, 'optionalAccess', _25 => _25.toLowerCase, 'call', _26 => _26(), 'access', _27 => _27.endsWith, 'call', _28 => _28(".svg")]) || fileName.toLowerCase().endsWith(".svg");
19275
18726
  if (isSvg && mediaTypeName === _mcpserversdk.MEDIA_TYPE_IMAGE) {
19276
18727
  console.warn(`SVG detected - using ${_mcpserversdk.MEDIA_TYPE_VECTOR_GRAPHICS} media type instead of ${_mcpserversdk.MEDIA_TYPE_IMAGE}`);
19277
18728
  return _mcpserversdk.MEDIA_TYPE_VECTOR_GRAPHICS;
@@ -19431,8 +18882,8 @@ async function uploadMediaFile(client, params) {
19431
18882
  });
19432
18883
  } catch (error) {
19433
18884
  const err = error;
19434
- const errorData = _optionalChain([err, 'access', _22 => _22.response, 'optionalAccess', _23 => _23.data]) ? typeof err.response.data === "string" ? err.response.data : JSON.stringify(err.response.data) : err.message;
19435
- throw new Error(`Failed to upload temporary file: ${_optionalChain([err, 'access', _24 => _24.response, 'optionalAccess', _25 => _25.status]) || "Unknown error"} - ${errorData}`);
18885
+ const errorData = _optionalChain([err, 'access', _29 => _29.response, 'optionalAccess', _30 => _30.data]) ? typeof err.response.data === "string" ? err.response.data : JSON.stringify(err.response.data) : err.message;
18886
+ throw new Error(`Failed to upload temporary file: ${_optionalChain([err, 'access', _31 => _31.response, 'optionalAccess', _32 => _32.status]) || "Unknown error"} - ${errorData}`);
19436
18887
  }
19437
18888
  const valueStructure = buildValueStructure(validatedMediaTypeName, params.temporaryFileId);
19438
18889
  let response;
@@ -19452,12 +18903,12 @@ async function uploadMediaFile(client, params) {
19452
18903
  }, _mcpserversdk.CAPTURE_RAW_HTTP_RESPONSE);
19453
18904
  } catch (error) {
19454
18905
  const err = error;
19455
- throw new Error(`Failed to create media item: ${_optionalChain([err, 'access', _26 => _26.response, 'optionalAccess', _27 => _27.status]) || "Unknown error"} - ${JSON.stringify(_optionalChain([err, 'access', _28 => _28.response, 'optionalAccess', _29 => _29.data])) || err.message}`);
18906
+ throw new Error(`Failed to create media item: ${_optionalChain([err, 'access', _33 => _33.response, 'optionalAccess', _34 => _34.status]) || "Unknown error"} - ${JSON.stringify(_optionalChain([err, 'access', _35 => _35.response, 'optionalAccess', _36 => _36.data])) || err.message}`);
19456
18907
  }
19457
18908
  if (response.status < 200 || response.status >= 300) {
19458
18909
  throw new Error(`Request failed with status code ${response.status}`);
19459
18910
  }
19460
- const locationHeader = _optionalChain([response, 'access', _30 => _30.headers, 'optionalAccess', _31 => _31.location]) || _optionalChain([response, 'access', _32 => _32.headers, 'optionalAccess', _33 => _33.Location]);
18911
+ const locationHeader = _optionalChain([response, 'access', _37 => _37.headers, 'optionalAccess', _38 => _38.location]) || _optionalChain([response, 'access', _39 => _39.headers, 'optionalAccess', _40 => _40.Location]);
19461
18912
  if (!locationHeader) {
19462
18913
  throw new Error("No Location header in response - cannot determine created media ID");
19463
18914
  }
@@ -19695,7 +19146,7 @@ var CreateMediaFolderTool = {
19695
19146
  if (response.status < 200 || response.status >= 300) {
19696
19147
  throw new Error(`Request failed with status code ${response.status}`);
19697
19148
  }
19698
- const locationHeader = _optionalChain([response, 'access', _34 => _34.headers, 'optionalAccess', _35 => _35.location]) || _optionalChain([response, 'access', _36 => _36.headers, 'optionalAccess', _37 => _37.Location]);
19149
+ const locationHeader = _optionalChain([response, 'access', _41 => _41.headers, 'optionalAccess', _42 => _42.location]) || _optionalChain([response, 'access', _43 => _43.headers, 'optionalAccess', _44 => _44.Location]);
19699
19150
  if (!locationHeader) {
19700
19151
  throw new Error("No Location header in response - cannot determine created folder ID");
19701
19152
  }
@@ -19820,14 +19271,14 @@ var get_media_configuration_default = _mcpserversdk.withStandardDecorators.call(
19820
19271
 
19821
19272
 
19822
19273
 
19823
- var outputSchema27 = _zod.z.object({
19274
+ var outputSchema30 = _zod.z.object({
19824
19275
  items: getMediaUrlsResponse
19825
19276
  });
19826
19277
  var GetMediaUrlsTool = {
19827
19278
  name: "get-media-urls",
19828
19279
  description: "Gets the URLs for a media item.",
19829
19280
  inputSchema: getMediaUrlsQueryParams.shape,
19830
- outputSchema: outputSchema27.shape,
19281
+ outputSchema: outputSchema30.shape,
19831
19282
  annotations: { readOnlyHint: true },
19832
19283
  slices: ["read"],
19833
19284
  handler: (async (params) => {
@@ -19912,14 +19363,14 @@ var sort_media_default = _mcpserversdk.withStandardDecorators.call(void 0, SortM
19912
19363
 
19913
19364
 
19914
19365
 
19915
- var outputSchema28 = _zod.z.object({
19366
+ var outputSchema31 = _zod.z.object({
19916
19367
  items: getItemMediaResponse
19917
19368
  });
19918
19369
  var GetMediaByIdArrayTool = {
19919
19370
  name: "get-media-by-id-array",
19920
19371
  description: "Gets media items by an array of IDs",
19921
19372
  inputSchema: getItemMediaQueryParams.shape,
19922
- outputSchema: outputSchema28.shape,
19373
+ outputSchema: outputSchema31.shape,
19923
19374
  annotations: { readOnlyHint: true },
19924
19375
  slices: ["read"],
19925
19376
  handler: (async (params) => {
@@ -19964,14 +19415,14 @@ var move_media_default = _mcpserversdk.withStandardDecorators.call(void 0, MoveM
19964
19415
 
19965
19416
 
19966
19417
 
19967
- var outputSchema29 = _zod.z.object({
19418
+ var outputSchema32 = _zod.z.object({
19968
19419
  items: getTreeMediaAncestorsResponse
19969
19420
  });
19970
19421
  var GetMediaAncestorsTool = {
19971
19422
  name: "get-media-ancestors",
19972
19423
  description: "Gets ancestor items for a media.",
19973
19424
  inputSchema: getTreeMediaAncestorsQueryParams.shape,
19974
- outputSchema: outputSchema29.shape,
19425
+ outputSchema: outputSchema32.shape,
19975
19426
  annotations: { readOnlyHint: true },
19976
19427
  slices: ["tree"],
19977
19428
  handler: (async (params) => {
@@ -19989,7 +19440,7 @@ var get_ancestors_default6 = _mcpserversdk.withStandardDecorators.call(void 0, G
19989
19440
 
19990
19441
 
19991
19442
 
19992
- var outputSchema30 = _zod.z.object({
19443
+ var outputSchema33 = _zod.z.object({
19993
19444
  items: getItemMediaAncestorsResponse
19994
19445
  });
19995
19446
  var GetMediaAncestorsBatchTool = {
@@ -19998,7 +19449,7 @@ var GetMediaAncestorsBatchTool = {
19998
19449
  Returns one entry per requested Id, each containing that Id's chain of ancestors.
19999
19450
  Differs from get-media-ancestors which returns the tree-style ancestors of a single Id.`,
20000
19451
  inputSchema: getItemMediaAncestorsQueryParams.shape,
20001
- outputSchema: outputSchema30.shape,
19452
+ outputSchema: outputSchema33.shape,
20002
19453
  annotations: {
20003
19454
  readOnlyHint: true
20004
19455
  },
@@ -20420,6 +19871,37 @@ var GetRecycleBinMediaOriginalParentTool = {
20420
19871
  };
20421
19872
  var get_recycle_bin_media_original_parent_default = _mcpserversdk.withStandardDecorators.call(void 0, GetRecycleBinMediaOriginalParentTool);
20422
19873
 
19874
+ // src/umb-management-api/tools/media/get/get-media-type-schema.ts
19875
+
19876
+
19877
+
19878
+
19879
+
19880
+
19881
+ var outputSchema34 = _zod.z.object({
19882
+ schema: _zod.z.unknown()
19883
+ });
19884
+ var GetMediaTypeSchemaTool = {
19885
+ name: "get-media-type-schema",
19886
+ description: `Gets the JSON Schema for a media type by Id.
19887
+
19888
+ Returns a JSON Schema describing the structure for creating media of that type, including all property definitions and their value formats.
19889
+
19890
+ IMPORTANT: Use this tool BEFORE creating media to understand the expected property structure for a specific media type.`,
19891
+ inputSchema: getMediaTypeByIdSchemaParams.shape,
19892
+ outputSchema: outputSchema34.shape,
19893
+ annotations: {
19894
+ readOnlyHint: true
19895
+ },
19896
+ slices: ["read"],
19897
+ handler: async ({ id }) => {
19898
+ const client = UmbracoManagementClient3.getClient();
19899
+ const response = await client.getMediaTypeByIdSchema(id, _mcpserversdk.CAPTURE_RAW_HTTP_RESPONSE);
19900
+ return _mcpserversdk.createToolResult.call(void 0, { schema: response.data });
19901
+ }
19902
+ };
19903
+ var get_media_type_schema_default = _mcpserversdk.withStandardDecorators.call(void 0, GetMediaTypeSchemaTool);
19904
+
20423
19905
  // src/umb-management-api/tools/media/index.ts
20424
19906
  var MediaCollection = {
20425
19907
  metadata: {
@@ -20466,6 +19948,9 @@ var MediaCollection = {
20466
19948
  tools.push(get_collection_media_default);
20467
19949
  tools.push(get_recycle_bin_media_referenced_by_default);
20468
19950
  tools.push(get_recycle_bin_media_original_parent_default);
19951
+ if (isUmbracoAtLeast(17, 4)) {
19952
+ tools.push(get_media_type_schema_default);
19953
+ }
20469
19954
  }
20470
19955
  return tools;
20471
19956
  }
@@ -20524,14 +20009,14 @@ var get_media_type_by_id_default = _mcpserversdk.withStandardDecorators.call(voi
20524
20009
  var inputSchema23 = _zod.z.object({
20525
20010
  ids: _zod.z.array(_zod.z.string())
20526
20011
  });
20527
- var outputSchema31 = _zod.z.object({
20012
+ var outputSchema35 = _zod.z.object({
20528
20013
  items: _zod.z.array(getMediaTypeByIdResponse)
20529
20014
  });
20530
20015
  var GetMediaTypeByIdsTool = {
20531
20016
  name: "get-media-type-by-ids",
20532
20017
  description: "Gets media types by ids",
20533
20018
  inputSchema: inputSchema23.shape,
20534
- outputSchema: outputSchema31.shape,
20019
+ outputSchema: outputSchema35.shape,
20535
20020
  annotations: { readOnlyHint: true },
20536
20021
  slices: ["list"],
20537
20022
  handler: (async ({ ids }) => {
@@ -20577,14 +20062,14 @@ var get_media_type_batch_default = _mcpserversdk.withStandardDecorators.call(voi
20577
20062
 
20578
20063
 
20579
20064
 
20580
- var outputSchema32 = _zod.z.object({
20065
+ var outputSchema36 = _zod.z.object({
20581
20066
  items: getItemMediaTypeResponse
20582
20067
  });
20583
20068
  var GetItemMediaTypeTool = {
20584
20069
  name: "get-item-media-type",
20585
20070
  description: "Gets media type items by their ids",
20586
20071
  inputSchema: getItemMediaTypeQueryParams.shape,
20587
- outputSchema: outputSchema32.shape,
20072
+ outputSchema: outputSchema36.shape,
20588
20073
  annotations: { readOnlyHint: true },
20589
20074
  slices: ["read"],
20590
20075
  handler: (async (params) => {
@@ -20696,14 +20181,14 @@ var get_media_type_allowed_parents_default = _mcpserversdk.withStandardDecorator
20696
20181
 
20697
20182
 
20698
20183
 
20699
- var outputSchema33 = _zod.z.object({
20184
+ var outputSchema37 = _zod.z.object({
20700
20185
  items: getMediaTypeByIdCompositionReferencesResponse
20701
20186
  });
20702
20187
  var GetMediaTypeCompositionReferencesTool = {
20703
20188
  name: "get-media-type-composition-references",
20704
20189
  description: "Gets the composition references for a media type",
20705
20190
  inputSchema: getMediaTypeByIdCompositionReferencesParams.shape,
20706
- outputSchema: outputSchema33.shape,
20191
+ outputSchema: outputSchema37.shape,
20707
20192
  annotations: { readOnlyHint: true },
20708
20193
  slices: ["read"],
20709
20194
  handler: (async ({ id }) => {
@@ -20784,14 +20269,14 @@ var get_siblings_default6 = _mcpserversdk.withStandardDecorators.call(void 0, Ge
20784
20269
 
20785
20270
 
20786
20271
 
20787
- var outputSchema34 = _zod.z.object({
20272
+ var outputSchema38 = _zod.z.object({
20788
20273
  items: getTreeMediaTypeAncestorsResponse
20789
20274
  });
20790
20275
  var GetMediaTypeAncestorsTool = {
20791
20276
  name: "get-media-type-ancestors",
20792
20277
  description: "Gets the ancestors of a media type",
20793
20278
  inputSchema: getTreeMediaTypeAncestorsQueryParams.shape,
20794
- outputSchema: outputSchema34.shape,
20279
+ outputSchema: outputSchema38.shape,
20795
20280
  annotations: { readOnlyHint: true },
20796
20281
  slices: ["tree"],
20797
20282
  handler: (async (params) => {
@@ -20809,7 +20294,7 @@ var get_ancestors_default7 = _mcpserversdk.withStandardDecorators.call(void 0, G
20809
20294
 
20810
20295
 
20811
20296
 
20812
- var outputSchema35 = _zod.z.object({
20297
+ var outputSchema39 = _zod.z.object({
20813
20298
  items: getItemMediaTypeAncestorsResponse
20814
20299
  });
20815
20300
  var GetMediaTypeAncestorsBatchTool = {
@@ -20818,7 +20303,7 @@ var GetMediaTypeAncestorsBatchTool = {
20818
20303
  Returns one entry per requested Id, each containing that Id's chain of ancestors.
20819
20304
  Differs from get-media-type-ancestors which returns the tree-style ancestors of a single Id.`,
20820
20305
  inputSchema: getItemMediaTypeAncestorsQueryParams.shape,
20821
- outputSchema: outputSchema35.shape,
20306
+ outputSchema: outputSchema39.shape,
20822
20307
  annotations: {
20823
20308
  readOnlyHint: true
20824
20309
  },
@@ -20897,7 +20382,7 @@ var CreateMediaTypeFolderTool = {
20897
20382
  validateStatus: () => true
20898
20383
  });
20899
20384
  if (response.status === 201) {
20900
- const locationHeader = _optionalChain([response, 'access', _38 => _38.headers, 'optionalAccess', _39 => _39["location"]]) || _optionalChain([response, 'access', _40 => _40.headers, 'optionalAccess', _41 => _41["Location"]]);
20385
+ const locationHeader = _optionalChain([response, 'access', _45 => _45.headers, 'optionalAccess', _46 => _46["location"]]) || _optionalChain([response, 'access', _47 => _47.headers, 'optionalAccess', _48 => _48["Location"]]);
20901
20386
  let createdId = model.id || "";
20902
20387
  if (locationHeader) {
20903
20388
  const idMatch = locationHeader.match(/([0-9a-f-]{36})$/i);
@@ -21031,7 +20516,7 @@ var CreateMediaTypeTool = {
21031
20516
  validateStatus: () => true
21032
20517
  });
21033
20518
  if (response.status === 201) {
21034
- const locationHeader = _optionalChain([response, 'access', _42 => _42.headers, 'optionalAccess', _43 => _43["location"]]) || _optionalChain([response, 'access', _44 => _44.headers, 'optionalAccess', _45 => _45["Location"]]);
20519
+ const locationHeader = _optionalChain([response, 'access', _49 => _49.headers, 'optionalAccess', _50 => _50["location"]]) || _optionalChain([response, 'access', _51 => _51.headers, 'optionalAccess', _52 => _52["Location"]]);
21035
20520
  let createdId = model.id || "";
21036
20521
  if (locationHeader) {
21037
20522
  const idMatch = locationHeader.match(/([0-9a-f-]{36})$/i);
@@ -21082,7 +20567,7 @@ var CopyMediaTypeTool = {
21082
20567
  validateStatus: () => true
21083
20568
  });
21084
20569
  if (response.status === 201) {
21085
- const locationHeader = _optionalChain([response, 'access', _46 => _46.headers, 'optionalAccess', _47 => _47["location"]]) || _optionalChain([response, 'access', _48 => _48.headers, 'optionalAccess', _49 => _49["Location"]]);
20570
+ const locationHeader = _optionalChain([response, 'access', _53 => _53.headers, 'optionalAccess', _54 => _54["location"]]) || _optionalChain([response, 'access', _55 => _55.headers, 'optionalAccess', _56 => _56["Location"]]);
21086
20571
  let createdId = "";
21087
20572
  if (locationHeader) {
21088
20573
  const idMatch = locationHeader.match(/([0-9a-f-]{36})$/i);
@@ -21112,14 +20597,14 @@ var copy_media_type_default = _mcpserversdk.withStandardDecorators.call(void 0,
21112
20597
 
21113
20598
 
21114
20599
 
21115
- var outputSchema36 = _zod.z.object({
20600
+ var outputSchema40 = _zod.z.object({
21116
20601
  items: postMediaTypeAvailableCompositionsResponse
21117
20602
  });
21118
20603
  var GetMediaTypeAvailableCompositionsTool = {
21119
20604
  name: "get-media-type-available-compositions",
21120
20605
  description: "Gets the available compositions for a media type",
21121
20606
  inputSchema: postMediaTypeAvailableCompositionsBody.shape,
21122
- outputSchema: outputSchema36.shape,
20607
+ outputSchema: outputSchema40.shape,
21123
20608
  annotations: { readOnlyHint: true },
21124
20609
  slices: ["configuration"],
21125
20610
  handler: (async (model) => {
@@ -21292,7 +20777,7 @@ var CreateMemberTool = {
21292
20777
  validateStatus: () => true
21293
20778
  });
21294
20779
  if (response.status === 201) {
21295
- const locationHeader = _optionalChain([response, 'access', _50 => _50.headers, 'optionalAccess', _51 => _51["location"]]) || _optionalChain([response, 'access', _52 => _52.headers, 'optionalAccess', _53 => _53["Location"]]);
20780
+ const locationHeader = _optionalChain([response, 'access', _57 => _57.headers, 'optionalAccess', _58 => _58["location"]]) || _optionalChain([response, 'access', _59 => _59.headers, 'optionalAccess', _60 => _60["Location"]]);
21296
20781
  let createdId = model.id || "";
21297
20782
  if (locationHeader) {
21298
20783
  const idMatch = locationHeader.match(/([0-9a-f-]{36})$/i);
@@ -21519,6 +21004,37 @@ var GetItemMemberSearchTool = {
21519
21004
  };
21520
21005
  var get_item_member_search_default = _mcpserversdk.withStandardDecorators.call(void 0, GetItemMemberSearchTool);
21521
21006
 
21007
+ // src/umb-management-api/tools/member/get/get-member-type-schema.ts
21008
+
21009
+
21010
+
21011
+
21012
+
21013
+
21014
+ var outputSchema41 = _zod.z.object({
21015
+ schema: _zod.z.unknown()
21016
+ });
21017
+ var GetMemberTypeSchemaTool = {
21018
+ name: "get-member-type-schema",
21019
+ description: `Gets the JSON Schema for a member type by Id.
21020
+
21021
+ Returns a JSON Schema describing the structure for creating members of that type, including all property definitions and their value formats.
21022
+
21023
+ IMPORTANT: Use this tool BEFORE creating members to understand the expected property structure for a specific member type.`,
21024
+ inputSchema: getMemberTypeByIdSchemaParams.shape,
21025
+ outputSchema: outputSchema41.shape,
21026
+ annotations: {
21027
+ readOnlyHint: true
21028
+ },
21029
+ slices: ["read"],
21030
+ handler: async ({ id }) => {
21031
+ const client = UmbracoManagementClient3.getClient();
21032
+ const response = await client.getMemberTypeByIdSchema(id, _mcpserversdk.CAPTURE_RAW_HTTP_RESPONSE);
21033
+ return _mcpserversdk.createToolResult.call(void 0, { schema: response.data });
21034
+ }
21035
+ };
21036
+ var get_member_type_schema_default = _mcpserversdk.withStandardDecorators.call(void 0, GetMemberTypeSchemaTool);
21037
+
21522
21038
  // src/umb-management-api/tools/member/get/get-member-ancestors-batch.ts
21523
21039
 
21524
21040
 
@@ -21526,7 +21042,7 @@ var get_item_member_search_default = _mcpserversdk.withStandardDecorators.call(v
21526
21042
 
21527
21043
 
21528
21044
 
21529
- var outputSchema37 = _zod.z.object({
21045
+ var outputSchema42 = _zod.z.object({
21530
21046
  items: getItemMemberAncestorsResponse
21531
21047
  });
21532
21048
  var GetMemberAncestorsBatchTool = {
@@ -21535,7 +21051,7 @@ var GetMemberAncestorsBatchTool = {
21535
21051
  Members are flat in Umbraco, so the ancestors array is typically empty;
21536
21052
  exposed for parity with the other entity ancestors-batch endpoints.`,
21537
21053
  inputSchema: getItemMemberAncestorsQueryParams.shape,
21538
- outputSchema: outputSchema37.shape,
21054
+ outputSchema: outputSchema42.shape,
21539
21055
  annotations: {
21540
21056
  readOnlyHint: true
21541
21057
  },
@@ -21568,6 +21084,9 @@ var MemberCollection = {
21568
21084
  tools.push(get_member_are_referenced_default);
21569
21085
  tools.push(get_member_by_id_referenced_by_default);
21570
21086
  tools.push(get_member_by_id_referenced_descendants_default);
21087
+ if (isUmbracoAtLeast(17, 4)) {
21088
+ tools.push(get_member_type_schema_default);
21089
+ }
21571
21090
  }
21572
21091
  tools.push(find_member_default);
21573
21092
  tools.push(get_item_member_search_default);
@@ -21606,14 +21125,14 @@ var get_member_group_default = _mcpserversdk.withStandardDecorators.call(void 0,
21606
21125
 
21607
21126
 
21608
21127
 
21609
- var outputSchema38 = _zod.z.object({
21128
+ var outputSchema43 = _zod.z.object({
21610
21129
  items: getItemMemberGroupResponse
21611
21130
  });
21612
21131
  var GetMemberGroupByIdArrayTool = {
21613
21132
  name: "get-member-group-by-id-array",
21614
21133
  description: "Gets member groups by an array of IDs",
21615
21134
  inputSchema: getItemMemberGroupQueryParams.shape,
21616
- outputSchema: outputSchema38.shape,
21135
+ outputSchema: outputSchema43.shape,
21617
21136
  annotations: {
21618
21137
  readOnlyHint: true
21619
21138
  },
@@ -21809,7 +21328,7 @@ var CreateMemberTypeTool = {
21809
21328
  validateStatus: () => true
21810
21329
  });
21811
21330
  if (response.status === 201) {
21812
- const locationHeader = _optionalChain([response, 'access', _54 => _54.headers, 'optionalAccess', _55 => _55["location"]]) || _optionalChain([response, 'access', _56 => _56.headers, 'optionalAccess', _57 => _57["Location"]]);
21331
+ const locationHeader = _optionalChain([response, 'access', _61 => _61.headers, 'optionalAccess', _62 => _62["location"]]) || _optionalChain([response, 'access', _63 => _63.headers, 'optionalAccess', _64 => _64["Location"]]);
21813
21332
  let createdId = model.id || "";
21814
21333
  if (locationHeader) {
21815
21334
  const idMatch = locationHeader.match(/([0-9a-f-]{36})$/i);
@@ -21839,14 +21358,14 @@ var create_member_type_default = _mcpserversdk.withStandardDecorators.call(void
21839
21358
 
21840
21359
 
21841
21360
 
21842
- var outputSchema39 = _zod.z.object({
21361
+ var outputSchema44 = _zod.z.object({
21843
21362
  items: getItemMemberTypeResponse
21844
21363
  });
21845
21364
  var GetMemberTypesByIdArrayTool = {
21846
21365
  name: "get-member-types-by-id-array",
21847
21366
  description: "Gets member types by IDs (or empty array if no IDs are provided)",
21848
21367
  inputSchema: getItemMemberTypeQueryParams.shape,
21849
- outputSchema: outputSchema39.shape,
21368
+ outputSchema: outputSchema44.shape,
21850
21369
  annotations: { readOnlyHint: true },
21851
21370
  slices: ["list"],
21852
21371
  handler: (async (params) => {
@@ -21979,7 +21498,7 @@ var CopyMemberTypeTool = {
21979
21498
  validateStatus: () => true
21980
21499
  });
21981
21500
  if (response.status === 201) {
21982
- const locationHeader = _optionalChain([response, 'access', _58 => _58.headers, 'optionalAccess', _59 => _59["location"]]) || _optionalChain([response, 'access', _60 => _60.headers, 'optionalAccess', _61 => _61["Location"]]);
21501
+ const locationHeader = _optionalChain([response, 'access', _65 => _65.headers, 'optionalAccess', _66 => _66["location"]]) || _optionalChain([response, 'access', _67 => _67.headers, 'optionalAccess', _68 => _68["Location"]]);
21983
21502
  let createdId = "";
21984
21503
  if (locationHeader) {
21985
21504
  const idMatch = locationHeader.match(/([0-9a-f-]{36})$/i);
@@ -22009,14 +21528,14 @@ var copy_member_type_default = _mcpserversdk.withStandardDecorators.call(void 0,
22009
21528
 
22010
21529
 
22011
21530
 
22012
- var outputSchema40 = _zod.z.object({
21531
+ var outputSchema45 = _zod.z.object({
22013
21532
  items: postMemberTypeAvailableCompositionsResponse
22014
21533
  });
22015
21534
  var GetMemberTypeAvailableCompositionsTool = {
22016
21535
  name: "get-member-type-available-compositions",
22017
21536
  description: "Gets the available compositions for a member type",
22018
21537
  inputSchema: postMemberTypeAvailableCompositionsBody.shape,
22019
- outputSchema: outputSchema40.shape,
21538
+ outputSchema: outputSchema45.shape,
22020
21539
  annotations: { readOnlyHint: true },
22021
21540
  slices: ["configuration"],
22022
21541
  handler: (async (model) => {
@@ -22034,14 +21553,14 @@ var get_member_type_available_compositions_default = _mcpserversdk.withStandardD
22034
21553
 
22035
21554
 
22036
21555
 
22037
- var outputSchema41 = _zod.z.object({
21556
+ var outputSchema46 = _zod.z.object({
22038
21557
  items: getMemberTypeByIdCompositionReferencesResponse
22039
21558
  });
22040
21559
  var GetMemberTypeCompositionReferencesTool = {
22041
21560
  name: "get-member-type-composition-references",
22042
21561
  description: "Gets the composition references for a member type",
22043
21562
  inputSchema: getMemberTypeByIdCompositionReferencesParams.shape,
22044
- outputSchema: outputSchema41.shape,
21563
+ outputSchema: outputSchema46.shape,
22045
21564
  annotations: { readOnlyHint: true },
22046
21565
  slices: ["read"],
22047
21566
  handler: (async ({ id }) => {
@@ -22124,7 +21643,7 @@ var get_siblings_default7 = _mcpserversdk.withStandardDecorators.call(void 0, Ge
22124
21643
 
22125
21644
 
22126
21645
 
22127
- var outputSchema42 = _zod.z.object({
21646
+ var outputSchema47 = _zod.z.object({
22128
21647
  items: getItemMemberTypeAncestorsResponse
22129
21648
  });
22130
21649
  var GetMemberTypeAncestorsBatchTool = {
@@ -22132,7 +21651,7 @@ var GetMemberTypeAncestorsBatchTool = {
22132
21651
  description: `Gets the ancestor chain (breadcrumb) for multiple member type Ids in one call.
22133
21652
  Returns one entry per requested Id, each containing that Id's chain of ancestors.`,
22134
21653
  inputSchema: getItemMemberTypeAncestorsQueryParams.shape,
22135
- outputSchema: outputSchema42.shape,
21654
+ outputSchema: outputSchema47.shape,
22136
21655
  annotations: {
22137
21656
  readOnlyHint: true
22138
21657
  },
@@ -22339,7 +21858,7 @@ var CreatePartialViewTool = {
22339
21858
  validateStatus: () => true
22340
21859
  });
22341
21860
  if (response.status === 201) {
22342
- const locationHeader = _optionalChain([response, 'access', _62 => _62.headers, 'optionalAccess', _63 => _63["location"]]) || _optionalChain([response, 'access', _64 => _64.headers, 'optionalAccess', _65 => _65["Location"]]);
21861
+ const locationHeader = _optionalChain([response, 'access', _69 => _69.headers, 'optionalAccess', _70 => _70["location"]]) || _optionalChain([response, 'access', _71 => _71.headers, 'optionalAccess', _72 => _72["Location"]]);
22343
21862
  let createdPath = "";
22344
21863
  if (locationHeader) {
22345
21864
  const pathMatch = locationHeader.match(/partial-view\/(.+)$/);
@@ -22386,7 +21905,7 @@ var CreatePartialViewFolderTool = {
22386
21905
  validateStatus: () => true
22387
21906
  });
22388
21907
  if (response.status === 201) {
22389
- const locationHeader = _optionalChain([response, 'access', _66 => _66.headers, 'optionalAccess', _67 => _67["location"]]) || _optionalChain([response, 'access', _68 => _68.headers, 'optionalAccess', _69 => _69["Location"]]);
21908
+ const locationHeader = _optionalChain([response, 'access', _73 => _73.headers, 'optionalAccess', _74 => _74["location"]]) || _optionalChain([response, 'access', _75 => _75.headers, 'optionalAccess', _76 => _76["Location"]]);
22390
21909
  let createdPath = "";
22391
21910
  if (locationHeader) {
22392
21911
  const pathMatch = locationHeader.match(/partial-view\/folder\/(.+)$/);
@@ -22599,14 +22118,14 @@ var get_partial_view_snippet_by_id_default = _mcpserversdk.withStandardDecorator
22599
22118
 
22600
22119
 
22601
22120
 
22602
- var outputSchema43 = _zod.z.object({
22121
+ var outputSchema48 = _zod.z.object({
22603
22122
  items: getTreePartialViewAncestorsResponse
22604
22123
  });
22605
22124
  var GetPartialViewAncestorsTool = {
22606
22125
  name: "get-partial-view-ancestors",
22607
22126
  description: "Gets the ancestors of a partial view in the tree structure",
22608
22127
  inputSchema: getTreePartialViewAncestorsQueryParams.shape,
22609
- outputSchema: outputSchema43.shape,
22128
+ outputSchema: outputSchema48.shape,
22610
22129
  annotations: { readOnlyHint: true },
22611
22130
  slices: ["tree"],
22612
22131
  handler: (async (model) => {
@@ -22666,14 +22185,14 @@ var get_root_default10 = _mcpserversdk.withStandardDecorators.call(void 0, GetPa
22666
22185
 
22667
22186
 
22668
22187
 
22669
- var outputSchema44 = _zod.z.object({
22188
+ var outputSchema49 = _zod.z.object({
22670
22189
  items: getItemPartialViewResponse
22671
22190
  });
22672
22191
  var GetPartialViewSearchTool = {
22673
22192
  name: "get-partial-view-search",
22674
22193
  description: "Searches for partial views by name or path",
22675
22194
  inputSchema: getItemPartialViewQueryParams.shape,
22676
- outputSchema: outputSchema44.shape,
22195
+ outputSchema: outputSchema49.shape,
22677
22196
  annotations: { readOnlyHint: true },
22678
22197
  slices: ["search"],
22679
22198
  handler: (async (model) => {
@@ -22743,14 +22262,14 @@ var PartialViewCollection = {
22743
22262
 
22744
22263
 
22745
22264
 
22746
- var outputSchema45 = _zod.z.object({
22265
+ var outputSchema50 = _zod.z.object({
22747
22266
  isUsed: getPropertyTypeIsUsedResponse
22748
22267
  });
22749
22268
  var GetPropertyTypeIsUsedTool = {
22750
22269
  name: "get-property-type-is-used",
22751
22270
  description: "Checks if a property type is used within Umbraco",
22752
22271
  inputSchema: getPropertyTypeIsUsedQueryParams.shape,
22753
- outputSchema: outputSchema45.shape,
22272
+ outputSchema: outputSchema50.shape,
22754
22273
  annotations: { readOnlyHint: true },
22755
22274
  slices: ["read"],
22756
22275
  handler: (async ({ contentTypeId, propertyAlias }) => {
@@ -23066,14 +22585,14 @@ var get_script_folder_by_path_default = _mcpserversdk.withStandardDecorators.cal
23066
22585
 
23067
22586
 
23068
22587
 
23069
- var outputSchema46 = _zod.z.object({
22588
+ var outputSchema51 = _zod.z.object({
23070
22589
  items: getItemScriptResponse
23071
22590
  });
23072
22591
  var GetScriptItemsTool = {
23073
22592
  name: "get-script-items",
23074
22593
  description: "Gets script items",
23075
22594
  inputSchema: getItemScriptQueryParams.shape,
23076
- outputSchema: outputSchema46.shape,
22595
+ outputSchema: outputSchema51.shape,
23077
22596
  annotations: { readOnlyHint: true },
23078
22597
  slices: ["list"],
23079
22598
  handler: (async (model) => {
@@ -23091,14 +22610,14 @@ var get_script_items_default = _mcpserversdk.withStandardDecorators.call(void 0,
23091
22610
 
23092
22611
 
23093
22612
 
23094
- var outputSchema47 = _zod.z.object({
22613
+ var outputSchema52 = _zod.z.object({
23095
22614
  items: getTreeScriptAncestorsResponse
23096
22615
  });
23097
22616
  var GetScriptTreeAncestorsTool = {
23098
22617
  name: "get-script-tree-ancestors",
23099
22618
  description: "Gets script tree ancestors",
23100
22619
  inputSchema: getTreeScriptAncestorsQueryParams.shape,
23101
- outputSchema: outputSchema47.shape,
22620
+ outputSchema: outputSchema52.shape,
23102
22621
  annotations: { readOnlyHint: true },
23103
22622
  slices: ["tree"],
23104
22623
  handler: (async (model) => {
@@ -23208,7 +22727,7 @@ var CreateScriptTool = {
23208
22727
  validateStatus: () => true
23209
22728
  });
23210
22729
  if (response.status === 201) {
23211
- const locationHeader = _optionalChain([response, 'access', _70 => _70.headers, 'optionalAccess', _71 => _71["location"]]) || _optionalChain([response, 'access', _72 => _72.headers, 'optionalAccess', _73 => _73["Location"]]);
22730
+ const locationHeader = _optionalChain([response, 'access', _77 => _77.headers, 'optionalAccess', _78 => _78["location"]]) || _optionalChain([response, 'access', _79 => _79.headers, 'optionalAccess', _80 => _80["Location"]]);
23212
22731
  let createdPath = "";
23213
22732
  if (locationHeader) {
23214
22733
  const pathMatch = locationHeader.match(/script\/(.+)$/);
@@ -23255,7 +22774,7 @@ var CreateScriptFolderTool = {
23255
22774
  validateStatus: () => true
23256
22775
  });
23257
22776
  if (response.status === 201) {
23258
- const locationHeader = _optionalChain([response, 'access', _74 => _74.headers, 'optionalAccess', _75 => _75["location"]]) || _optionalChain([response, 'access', _76 => _76.headers, 'optionalAccess', _77 => _77["Location"]]);
22777
+ const locationHeader = _optionalChain([response, 'access', _81 => _81.headers, 'optionalAccess', _82 => _82["location"]]) || _optionalChain([response, 'access', _83 => _83.headers, 'optionalAccess', _84 => _84["Location"]]);
23259
22778
  let createdPath = "";
23260
22779
  if (locationHeader) {
23261
22780
  const pathMatch = locationHeader.match(/script\/folder\/(.+)$/);
@@ -23713,14 +23232,14 @@ var ServerCollection = {
23713
23232
 
23714
23233
 
23715
23234
 
23716
- var outputSchema48 = _zod.z.object({
23235
+ var outputSchema53 = _zod.z.object({
23717
23236
  items: getItemStaticFileResponse
23718
23237
  });
23719
23238
  var GetStaticFilesTool = {
23720
23239
  name: "get-static-files",
23721
23240
  description: "Lists static files with optional path filtering for browsing the file system",
23722
23241
  inputSchema: getItemStaticFileQueryParams.shape,
23723
- outputSchema: outputSchema48.shape,
23242
+ outputSchema: outputSchema53.shape,
23724
23243
  annotations: { readOnlyHint: true },
23725
23244
  slices: ["read"],
23726
23245
  handler: (async (params) => {
@@ -23780,14 +23299,14 @@ var get_children_default9 = _mcpserversdk.withStandardDecorators.call(void 0, Ge
23780
23299
 
23781
23300
 
23782
23301
 
23783
- var outputSchema49 = _zod.z.object({
23302
+ var outputSchema54 = _zod.z.object({
23784
23303
  items: getTreeStaticFileAncestorsResponse
23785
23304
  });
23786
23305
  var GetStaticFileAncestorsTool = {
23787
23306
  name: "get-static-file-ancestors",
23788
23307
  description: "Gets ancestor folders for navigation breadcrumbs by descendant path",
23789
23308
  inputSchema: getTreeStaticFileAncestorsQueryParams.shape,
23790
- outputSchema: outputSchema49.shape,
23309
+ outputSchema: outputSchema54.shape,
23791
23310
  annotations: { readOnlyHint: true },
23792
23311
  slices: ["tree"],
23793
23312
  handler: (async (params) => {
@@ -23852,7 +23371,7 @@ var CreateStylesheetTool = {
23852
23371
  validateStatus: () => true
23853
23372
  });
23854
23373
  if (response.status === 201) {
23855
- const locationHeader = _optionalChain([response, 'access', _78 => _78.headers, 'optionalAccess', _79 => _79["location"]]) || _optionalChain([response, 'access', _80 => _80.headers, 'optionalAccess', _81 => _81["Location"]]);
23374
+ const locationHeader = _optionalChain([response, 'access', _85 => _85.headers, 'optionalAccess', _86 => _86["location"]]) || _optionalChain([response, 'access', _87 => _87.headers, 'optionalAccess', _88 => _88["Location"]]);
23856
23375
  let createdPath = "";
23857
23376
  if (locationHeader) {
23858
23377
  const pathMatch = locationHeader.match(/stylesheet\/(.+)$/);
@@ -23899,7 +23418,7 @@ var CreateStylesheetFolderTool = {
23899
23418
  validateStatus: () => true
23900
23419
  });
23901
23420
  if (response.status === 201) {
23902
- const locationHeader = _optionalChain([response, 'access', _82 => _82.headers, 'optionalAccess', _83 => _83["location"]]) || _optionalChain([response, 'access', _84 => _84.headers, 'optionalAccess', _85 => _85["Location"]]);
23421
+ const locationHeader = _optionalChain([response, 'access', _89 => _89.headers, 'optionalAccess', _90 => _90["location"]]) || _optionalChain([response, 'access', _91 => _91.headers, 'optionalAccess', _92 => _92["Location"]]);
23903
23422
  let createdPath = "";
23904
23423
  if (locationHeader) {
23905
23424
  const pathMatch = locationHeader.match(/stylesheet\/folder\/(.+)$/);
@@ -24069,14 +23588,14 @@ var delete_stylesheet_folder_default = _mcpserversdk.withStandardDecorators.call
24069
23588
 
24070
23589
 
24071
23590
 
24072
- var outputSchema50 = _zod.z.object({
23591
+ var outputSchema55 = _zod.z.object({
24073
23592
  items: getTreeStylesheetAncestorsResponse
24074
23593
  });
24075
23594
  var GetStylesheetAncestorsTool = {
24076
23595
  name: "get-stylesheet-ancestors",
24077
23596
  description: "Gets the ancestors of a stylesheet in the tree structure",
24078
23597
  inputSchema: getTreeStylesheetAncestorsQueryParams.shape,
24079
- outputSchema: outputSchema50.shape,
23598
+ outputSchema: outputSchema55.shape,
24080
23599
  annotations: { readOnlyHint: true },
24081
23600
  slices: ["tree"],
24082
23601
  handler: (async (model) => {
@@ -24136,14 +23655,14 @@ var get_root_default12 = _mcpserversdk.withStandardDecorators.call(void 0, GetSt
24136
23655
 
24137
23656
 
24138
23657
 
24139
- var outputSchema51 = _zod.z.object({
23658
+ var outputSchema56 = _zod.z.object({
24140
23659
  items: getItemStylesheetResponse
24141
23660
  });
24142
23661
  var GetStylesheetSearchTool = {
24143
23662
  name: "get-stylesheet-search",
24144
23663
  description: "Searches for stylesheets by name or path",
24145
23664
  inputSchema: getItemStylesheetQueryParams.shape,
24146
- outputSchema: outputSchema51.shape,
23665
+ outputSchema: outputSchema56.shape,
24147
23666
  annotations: { readOnlyHint: true },
24148
23667
  slices: ["search"],
24149
23668
  handler: (async (model) => {
@@ -24263,7 +23782,7 @@ var CreateTemplateTool = {
24263
23782
  validateStatus: () => true
24264
23783
  });
24265
23784
  if (response.status === 201) {
24266
- const locationHeader = _optionalChain([response, 'access', _86 => _86.headers, 'optionalAccess', _87 => _87["location"]]) || _optionalChain([response, 'access', _88 => _88.headers, 'optionalAccess', _89 => _89["Location"]]);
23785
+ const locationHeader = _optionalChain([response, 'access', _93 => _93.headers, 'optionalAccess', _94 => _94["location"]]) || _optionalChain([response, 'access', _95 => _95.headers, 'optionalAccess', _96 => _96["Location"]]);
24267
23786
  let createdId = "";
24268
23787
  if (locationHeader) {
24269
23788
  const idMatch = locationHeader.match(/template\/([a-f0-9-]+)$/i);
@@ -24335,14 +23854,14 @@ var get_template_configuration_default = _mcpserversdk.withStandardDecorators.ca
24335
23854
 
24336
23855
 
24337
23856
 
24338
- var outputSchema52 = _zod.z.object({
23857
+ var outputSchema57 = _zod.z.object({
24339
23858
  items: getItemTemplateResponse
24340
23859
  });
24341
23860
  var GetTemplatesByIdArrayTool = {
24342
23861
  name: "get-templates-by-id-array",
24343
23862
  description: "Gets templates by IDs (or empty array if no IDs are provided)",
24344
23863
  inputSchema: getItemTemplateQueryParams.shape,
24345
- outputSchema: outputSchema52.shape,
23864
+ outputSchema: outputSchema57.shape,
24346
23865
  annotations: { readOnlyHint: true },
24347
23866
  slices: ["list"],
24348
23867
  handler: (async (params) => {
@@ -24458,14 +23977,14 @@ var get_template_query_settings_default = _mcpserversdk.withStandardDecorators.c
24458
23977
 
24459
23978
 
24460
23979
 
24461
- var outputSchema53 = _zod.z.object({
23980
+ var outputSchema58 = _zod.z.object({
24462
23981
  items: getTreeTemplateAncestorsResponse
24463
23982
  });
24464
23983
  var GetTemplateAncestorsTool = {
24465
23984
  name: "get-template-ancestors",
24466
23985
  description: "Gets the ancestors of a template by Id",
24467
23986
  inputSchema: getTreeTemplateAncestorsQueryParams.shape,
24468
- outputSchema: outputSchema53.shape,
23987
+ outputSchema: outputSchema58.shape,
24469
23988
  annotations: { readOnlyHint: true },
24470
23989
  slices: ["tree"],
24471
23990
  handler: (async (params) => {
@@ -24483,7 +24002,7 @@ var get_ancestors_default11 = _mcpserversdk.withStandardDecorators.call(void 0,
24483
24002
 
24484
24003
 
24485
24004
 
24486
- var outputSchema54 = _zod.z.object({
24005
+ var outputSchema59 = _zod.z.object({
24487
24006
  items: getItemTemplateAncestorsResponse
24488
24007
  });
24489
24008
  var GetTemplateAncestorsBatchTool = {
@@ -24492,7 +24011,7 @@ var GetTemplateAncestorsBatchTool = {
24492
24011
  Returns one entry per requested Id, each containing that Id's chain of ancestors.
24493
24012
  Differs from get-template-ancestors which returns the tree-style ancestors of a single Id.`,
24494
24013
  inputSchema: getItemTemplateAncestorsQueryParams.shape,
24495
- outputSchema: outputSchema54.shape,
24014
+ outputSchema: outputSchema59.shape,
24496
24015
  annotations: {
24497
24016
  readOnlyHint: true
24498
24017
  },
@@ -24872,14 +24391,14 @@ var find_user_default = _mcpserversdk.withStandardDecorators.call(void 0, FindUs
24872
24391
 
24873
24392
 
24874
24393
 
24875
- var outputSchema55 = _zod.z.object({
24394
+ var outputSchema60 = _zod.z.object({
24876
24395
  items: getItemUserResponse
24877
24396
  });
24878
24397
  var GetItemUserTool = {
24879
24398
  name: "get-item-user",
24880
24399
  description: "Gets user items for selection lists and pickers",
24881
24400
  inputSchema: getItemUserQueryParams.shape,
24882
- outputSchema: outputSchema55.shape,
24401
+ outputSchema: outputSchema60.shape,
24883
24402
  annotations: { readOnlyHint: true },
24884
24403
  slices: ["read"],
24885
24404
  handler: (async (params) => {
@@ -24960,14 +24479,14 @@ var get_user_current_configuration_default = _mcpserversdk.withStandardDecorator
24960
24479
 
24961
24480
 
24962
24481
 
24963
- var outputSchema56 = _zod.z.object({
24482
+ var outputSchema61 = _zod.z.object({
24964
24483
  items: getUserCurrentLoginProvidersResponse
24965
24484
  });
24966
24485
  var GetUserCurrentLoginProvidersTool = {
24967
24486
  name: "get-user-current-login-providers",
24968
24487
  description: "Gets the current user's available login providers",
24969
24488
  inputSchema: {},
24970
- outputSchema: outputSchema56.shape,
24489
+ outputSchema: outputSchema61.shape,
24971
24490
  annotations: { readOnlyHint: true },
24972
24491
  slices: ["current-user"],
24973
24492
  handler: (async () => {
@@ -25006,14 +24525,14 @@ var get_user_current_permissions_default = _mcpserversdk.withStandardDecorators.
25006
24525
 
25007
24526
 
25008
24527
 
25009
- var outputSchema57 = _zod.z.object({
24528
+ var outputSchema62 = _zod.z.object({
25010
24529
  items: getUserCurrentPermissionsDocumentResponse
25011
24530
  });
25012
24531
  var GetUserCurrentPermissionsDocumentTool = {
25013
24532
  name: "get-user-current-permissions-document",
25014
24533
  description: "Gets the current user's document permissions for specific documents",
25015
24534
  inputSchema: getUserCurrentPermissionsDocumentQueryParams.shape,
25016
- outputSchema: outputSchema57.shape,
24535
+ outputSchema: outputSchema62.shape,
25017
24536
  annotations: { readOnlyHint: true },
25018
24537
  slices: ["permissions"],
25019
24538
  handler: (async (params) => {
@@ -25186,7 +24705,7 @@ var CreateUserDataTool = {
25186
24705
  validateStatus: () => true
25187
24706
  });
25188
24707
  if (response.status === 201) {
25189
- const locationHeader = _optionalChain([response, 'access', _90 => _90.headers, 'optionalAccess', _91 => _91["location"]]) || _optionalChain([response, 'access', _92 => _92.headers, 'optionalAccess', _93 => _93["Location"]]);
24708
+ const locationHeader = _optionalChain([response, 'access', _97 => _97.headers, 'optionalAccess', _98 => _98["location"]]) || _optionalChain([response, 'access', _99 => _99.headers, 'optionalAccess', _100 => _100["Location"]]);
25190
24709
  let createdId = "";
25191
24710
  if (locationHeader) {
25192
24711
  const idMatch = locationHeader.match(/user-data\/([a-f0-9-]+)$/i);
@@ -25340,14 +24859,14 @@ var get_user_group_default = _mcpserversdk.withStandardDecorators.call(void 0, G
25340
24859
 
25341
24860
 
25342
24861
 
25343
- var outputSchema58 = _zod.z.object({
24862
+ var outputSchema63 = _zod.z.object({
25344
24863
  items: getItemUserGroupResponse
25345
24864
  });
25346
24865
  var GetUserGroupByIdArrayTool = {
25347
24866
  name: "get-user-group-by-id-array",
25348
24867
  description: "Gets user groups by an array of IDs",
25349
24868
  inputSchema: getItemUserGroupQueryParams.shape,
25350
- outputSchema: outputSchema58.shape,
24869
+ outputSchema: outputSchema63.shape,
25351
24870
  annotations: { readOnlyHint: true },
25352
24871
  slices: ["list"],
25353
24872
  handler: (async (params) => {
@@ -25424,7 +24943,7 @@ var CreateUserGroupTool = {
25424
24943
  validateStatus: () => true
25425
24944
  });
25426
24945
  if (response.status === 201) {
25427
- const locationHeader = _optionalChain([response, 'access', _94 => _94.headers, 'optionalAccess', _95 => _95["location"]]) || _optionalChain([response, 'access', _96 => _96.headers, 'optionalAccess', _97 => _97["Location"]]);
24946
+ const locationHeader = _optionalChain([response, 'access', _101 => _101.headers, 'optionalAccess', _102 => _102["location"]]) || _optionalChain([response, 'access', _103 => _103.headers, 'optionalAccess', _104 => _104["Location"]]);
25428
24947
  let createdId = "";
25429
24948
  if (locationHeader) {
25430
24949
  const idMatch = locationHeader.match(/user-group\/([a-f0-9-]+)$/i);
@@ -25568,14 +25087,14 @@ var get_webhook_by_id_default = _mcpserversdk.withStandardDecorators.call(void 0
25568
25087
 
25569
25088
 
25570
25089
 
25571
- var outputSchema59 = _zod.z.object({
25090
+ var outputSchema64 = _zod.z.object({
25572
25091
  items: getItemWebhookResponse
25573
25092
  });
25574
25093
  var GetWebhookItemTool = {
25575
25094
  name: "get-webhook-item",
25576
25095
  description: "Gets webhooks by IDs (or empty array if no IDs are provided)",
25577
25096
  inputSchema: getItemWebhookQueryParams.shape,
25578
- outputSchema: outputSchema59.shape,
25097
+ outputSchema: outputSchema64.shape,
25579
25098
  annotations: { readOnlyHint: true },
25580
25099
  slices: ["list"],
25581
25100
  handler: (async (params) => {
@@ -25722,7 +25241,7 @@ var CreateWebhookTool = {
25722
25241
  validateStatus: () => true
25723
25242
  });
25724
25243
  if (response.status === 201) {
25725
- const locationHeader = _optionalChain([response, 'access', _98 => _98.headers, 'optionalAccess', _99 => _99["location"]]) || _optionalChain([response, 'access', _100 => _100.headers, 'optionalAccess', _101 => _101["Location"]]);
25244
+ const locationHeader = _optionalChain([response, 'access', _105 => _105.headers, 'optionalAccess', _106 => _106["location"]]) || _optionalChain([response, 'access', _107 => _107.headers, 'optionalAccess', _108 => _108["Location"]]);
25726
25245
  let createdId = "";
25727
25246
  if (locationHeader) {
25728
25247
  const idMatch = locationHeader.match(/webhook\/([a-f0-9-]+)$/i);
@@ -25955,5 +25474,6 @@ var allSliceNames = [...toolSliceNames, "other"];
25955
25474
 
25956
25475
 
25957
25476
 
25958
- exports.__commonJS = __commonJS; exports.__toESM = __toESM; exports.UmbracoManagementClient = UmbracoManagementClient3; exports.availableCollections = availableCollections; exports.allModes = allModes; exports.allModeNames = allModeNames; exports.allSliceNames = allSliceNames;
25959
- //# sourceMappingURL=chunk-6IL4IQKW.cjs.map
25477
+
25478
+ exports.__commonJS = __commonJS; exports.__toESM = __toESM; exports.UmbracoManagementClient = UmbracoManagementClient3; exports.setUmbracoVersion = setUmbracoVersion; exports.availableCollections = availableCollections; exports.allModes = allModes; exports.allModeNames = allModeNames; exports.allSliceNames = allSliceNames;
25479
+ //# sourceMappingURL=chunk-OBOSCZYR.cjs.map