npm package diff

Package: @forge/util

Versions: 1.4.10-next.0 - 1.4.10-next.0-experimental-effab31

File: package/packages/ari/confluence/index.js

Index: package/packages/ari/confluence/index.js
===================================================================
--- package/packages/ari/confluence/index.js
+++ package/packages/ari/confluence/index.js
@@ -21,12 +21,14 @@
   ConfluenceAttachmentAri: () => ConfluenceAttachmentAri,
   ConfluenceBlogpostAri: () => ConfluenceBlogpostAri,
   ConfluenceCommentAri: () => ConfluenceCommentAri,
   ConfluenceContentAri: () => ConfluenceContentAri,
+  ConfluenceCustomContentAri: () => ConfluenceCustomContentAri,
   ConfluenceDatabaseAri: () => ConfluenceDatabaseAri,
   ConfluenceEmbedAri: () => ConfluenceEmbedAri,
   ConfluenceEventAri: () => ConfluenceEventAri,
   ConfluenceFolderAri: () => ConfluenceFolderAri,
+  ConfluenceLabelAri: () => ConfluenceLabelAri,
   ConfluenceLongRunningTaskAri: () => ConfluenceLongRunningTaskAri,
   ConfluenceNoteAri: () => ConfluenceNoteAri,
   ConfluencePageAri: () => ConfluencePageAri,
   ConfluencePublicLinkAri: () => ConfluencePublicLinkAri,
@@ -36,8 +38,9 @@
   ConfluenceTaskAri: () => ConfluenceTaskAri,
   ConfluenceTeamCalendarAri: () => ConfluenceTeamCalendarAri,
   ConfluenceUserPropertyAri: () => ConfluenceUserPropertyAri,
   ConfluenceWhiteboardAri: () => ConfluenceWhiteboardAri,
+  ConfluenceWorkflowAri: () => ConfluenceWorkflowAri,
   ConfluenceWorkspaceAri: () => ConfluenceWorkspaceAri
 });
 module.exports = __toCommonJS(confluence_exports);
 
@@ -45,9 +48,9 @@
 var ValidationError = class extends Error {
 };
 
 // src/core/rules/cloud-id.ts
-function validateCloudId(cloudId, format = new RegExp("^[a-zA-Z0-9\\-]*$")) {
+function validateCloudId(cloudId, format = new RegExp("^[a-zA-Z0-9_\\-.]{0,255}$")) {
   if (!cloudId.match(format))
     throw new ValidationError(`Invalid cloud ID, expected ID of format ${format}.`);
 }
 
@@ -67,9 +70,9 @@
     throw new ValidationError(`ARI must have a qualifier of 'ari'. Received: ${qualifier}`);
 }
 
 // src/core/rules/resource-id.ts
-function validateResourceId(id, format = new RegExp("[!a-zA-Z0-9\\-_.~@:{}=]+(/[!a-zA-Z0-9\\-_.~@:{}=]+)*" /* ANY_RESOURCE_ID */), key = "resourceId") {
+function validateResourceId(id, format = new RegExp("[!a-zA-Z0-9\\-_.~@:;{}=]+(/[!a-zA-Z0-9\\-_.~@:;{}=]+)*" /* ANY_RESOURCE_ID */), key = "resourceId") {
   let formatWithCarets = new RegExp(`^${format.source}$`);
   if (!id.match(formatWithCarets))
     throw new ValidationError(`Invalid ${key} - ${id}, expected ID of format ${formatWithCarets}.`);
 }
@@ -301,9 +304,10 @@
 // src/confluence/admin-announcement-banner/manifest.ts
 var confluenceAdminAnnouncementBannerAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceAdminAnnouncementBannerAriResourceOwner,
   resourceType: ConfluenceAdminAnnouncementBannerAriResourceType,
   resourceIdSlug: "activation/{activationId}/{bannerId}",
   resourceIdSegmentFormats: {
@@ -363,9 +367,10 @@
 // src/confluence/attachment/manifest.ts
 var confluenceAttachmentAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceAttachmentAriResourceOwner,
   resourceType: ConfluenceAttachmentAriResourceType,
   resourceIdSlug: "{attachmentId}",
   resourceIdSegmentFormats: {
@@ -418,9 +423,10 @@
 // src/confluence/blogpost/manifest.ts
 var confluenceBlogpostAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceBlogpostAriResourceOwner,
   resourceType: ConfluenceBlogpostAriResourceType,
   resourceIdSlug: "{blogpostId}",
   resourceIdSegmentFormats: {
@@ -473,9 +479,10 @@
 // src/confluence/comment/manifest.ts
 var confluenceCommentAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceCommentAriResourceOwner,
   resourceType: ConfluenceCommentAriResourceType,
   resourceIdSlug: "{commentId}",
   resourceIdSegmentFormats: {
@@ -528,9 +535,10 @@
 // src/confluence/content/manifest.ts
 var confluenceContentAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceContentAriResourceOwner,
   resourceType: ConfluenceContentAriResourceType,
   resourceIdSlug: "{contentId}",
   resourceIdSegmentFormats: {
@@ -576,16 +584,87 @@
     };
   }
 };
 
+// src/confluence/custom-content/types.ts
+var ConfluenceCustomContentAriResourceOwner = "confluence", ConfluenceCustomContentAriResourceType = "custom-content";
+
+// src/confluence/custom-content/manifest.ts
+var confluenceCustomContentAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: ConfluenceCustomContentAriResourceOwner,
+  resourceType: ConfluenceCustomContentAriResourceType,
+  resourceIdSlug: "{customContentType}/activation/{activationId}/{customContentId}",
+  resourceIdSegmentFormats: {
+    customContentType: /[a-zA-Z0-9\-:]+/,
+    // eslint-disable-line no-useless-escape
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    customContentId: /[0-9]+/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/confluence/custom-content/index.ts
+var ConfluenceCustomContentAri = class _ConfluenceCustomContentAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._customContentType = opts.resourceIdSegmentValues.customContentType, this._activationId = opts.resourceIdSegmentValues.activationId, this._customContentId = opts.resourceIdSegmentValues.customContentId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get customContentType() {
+    return this._customContentType;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get customContentId() {
+    return this._customContentId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: confluenceCustomContentAriStaticOpts.qualifier,
+      platformQualifier: confluenceCustomContentAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: confluenceCustomContentAriStaticOpts.resourceOwner,
+      resourceType: confluenceCustomContentAriStaticOpts.resourceType,
+      resourceId: `${opts.customContentType}/activation/${opts.activationId}/${opts.customContentId}`,
+      resourceIdSegmentValues: {
+        customContentType: opts.customContentType,
+        activationId: opts.activationId,
+        customContentId: opts.customContentId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, confluenceCustomContentAriStaticOpts);
+    return new _ConfluenceCustomContentAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, confluenceCustomContentAriStaticOpts);
+    return new _ConfluenceCustomContentAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      customContentType: this.customContentType,
+      activationId: this.activationId,
+      customContentId: this.customContentId
+    };
+  }
+};
+
 // src/confluence/database/types.ts
 var ConfluenceDatabaseAriResourceOwner = "confluence", ConfluenceDatabaseAriResourceType = "database";
 
 // src/confluence/database/manifest.ts
 var confluenceDatabaseAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceDatabaseAriResourceOwner,
   resourceType: ConfluenceDatabaseAriResourceType,
   resourceIdSlug: "activation/{activationId}/{databaseId}",
   resourceIdSegmentFormats: {
@@ -645,9 +724,10 @@
 // src/confluence/embed/manifest.ts
 var confluenceEmbedAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceEmbedAriResourceOwner,
   resourceType: ConfluenceEmbedAriResourceType,
   resourceIdSlug: "activation/{activationId}/{embedId}",
   resourceIdSegmentFormats: {
@@ -707,18 +787,19 @@
 // src/confluence/event/manifest.ts
 var confluenceEventAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceEventAriResourceOwner,
   resourceType: ConfluenceEventAriResourceType,
   resourceIdSlug: "{eventType}/activation/{activationId}/event/{eventId}",
   resourceIdSegmentFormats: {
     eventType: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
     activationId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
-    eventId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    eventId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -776,9 +857,10 @@
 // src/confluence/folder/manifest.ts
 var confluenceFolderAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceFolderAriResourceOwner,
   resourceType: ConfluenceFolderAriResourceType,
   resourceIdSlug: "activation/{activationId}/{folderId}",
   resourceIdSegmentFormats: {
@@ -831,16 +913,80 @@
     };
   }
 };
 
+// src/confluence/label/types.ts
+var ConfluenceLabelAriResourceOwner = "confluence", ConfluenceLabelAriResourceType = "label";
+
+// src/confluence/label/manifest.ts
+var confluenceLabelAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: ConfluenceLabelAriResourceOwner,
+  resourceType: ConfluenceLabelAriResourceType,
+  resourceIdSlug: "activation/{activationId}/{labelId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    labelId: /[0-9]+/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/confluence/label/index.ts
+var ConfluenceLabelAri = class _ConfluenceLabelAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._labelId = opts.resourceIdSegmentValues.labelId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get labelId() {
+    return this._labelId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: confluenceLabelAriStaticOpts.qualifier,
+      platformQualifier: confluenceLabelAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: confluenceLabelAriStaticOpts.resourceOwner,
+      resourceType: confluenceLabelAriStaticOpts.resourceType,
+      resourceId: `activation/${opts.activationId}/${opts.labelId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        labelId: opts.labelId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, confluenceLabelAriStaticOpts);
+    return new _ConfluenceLabelAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, confluenceLabelAriStaticOpts);
+    return new _ConfluenceLabelAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      labelId: this.labelId
+    };
+  }
+};
+
 // src/confluence/long-running-task/types.ts
 var ConfluenceLongRunningTaskAriResourceOwner = "confluence", ConfluenceLongRunningTaskAriResourceType = "long-running-task";
 
 // src/confluence/long-running-task/manifest.ts
 var confluenceLongRunningTaskAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceLongRunningTaskAriResourceOwner,
   resourceType: ConfluenceLongRunningTaskAriResourceType,
   resourceIdSlug: "activation/{activationId}/{taskId}",
   resourceIdSegmentFormats: {
@@ -900,9 +1046,10 @@
 // src/confluence/note/manifest.ts
 var confluenceNoteAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceNoteAriResourceOwner,
   resourceType: ConfluenceNoteAriResourceType,
   resourceIdSlug: "activation/{activationId}/{noteId}",
   resourceIdSegmentFormats: {
@@ -962,9 +1109,10 @@
 // src/confluence/page/manifest.ts
 var confluencePageAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluencePageAriResourceOwner,
   resourceType: ConfluencePageAriResourceType,
   resourceIdSlug: "{pageId}",
   resourceIdSegmentFormats: {
@@ -1017,16 +1165,17 @@
 // src/confluence/public-link/manifest.ts
 var confluencePublicLinkAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluencePublicLinkAriResourceOwner,
   resourceType: ConfluencePublicLinkAriResourceType,
   resourceIdSlug: "activation/{activationId}/{publicLinkId}",
   resourceIdSegmentFormats: {
     activationId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
-    publicLinkId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    publicLinkId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -1079,14 +1228,15 @@
 // src/confluence/role/manifest.ts
 var confluenceRoleAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]*$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{0,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceRoleAriResourceOwner,
   resourceType: ConfluenceRoleAriResourceType,
   resourceIdSlug: "{roleId}",
   resourceIdSegmentFormats: {
-    roleId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    roleId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -1135,13 +1285,14 @@
 var confluenceSiteAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceSiteAriResourceOwner,
   resourceType: ConfluenceSiteAriResourceType,
   resourceIdSlug: "{siteId}",
   resourceIdSegmentFormats: {
-    siteId: /[a-zA-Z0-9\-]+/
+    siteId: /[a-zA-Z0-9_\-.]{1,255}/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -1185,9 +1336,10 @@
 // src/confluence/space/manifest.ts
 var confluenceSpaceAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceSpaceAriResourceOwner,
   resourceType: ConfluenceSpaceAriResourceType,
   resourceIdSlug: "{spaceId}",
   resourceIdSegmentFormats: {
@@ -1240,9 +1392,10 @@
 // src/confluence/task/manifest.ts
 var confluenceTaskAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceTaskAriResourceOwner,
   resourceType: ConfluenceTaskAriResourceType,
   resourceIdSlug: "{taskId}",
   resourceIdSegmentFormats: {
@@ -1295,9 +1448,10 @@
 // src/confluence/team-calendar/manifest.ts
 var confluenceTeamCalendarAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceTeamCalendarAriResourceOwner,
   resourceType: ConfluenceTeamCalendarAriResourceType,
   resourceIdSlug: "activation/{activationId}/{calendarId}",
   resourceIdSegmentFormats: {
@@ -1357,9 +1511,10 @@
 // src/confluence/user-property/manifest.ts
 var confluenceUserPropertyAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceUserPropertyAriResourceOwner,
   resourceType: ConfluenceUserPropertyAriResourceType,
   resourceIdSlug: "{userPropertyId}",
   resourceIdSegmentFormats: {
@@ -1412,9 +1567,10 @@
 // src/confluence/whiteboard/manifest.ts
 var confluenceWhiteboardAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceWhiteboardAriResourceOwner,
   resourceType: ConfluenceWhiteboardAriResourceType,
   resourceIdSlug: "{whiteboardId}",
   resourceIdSegmentFormats: {
@@ -1460,16 +1616,80 @@
     };
   }
 };
 
+// src/confluence/workflow/types.ts
+var ConfluenceWorkflowAriResourceOwner = "confluence", ConfluenceWorkflowAriResourceType = "workflow";
+
+// src/confluence/workflow/manifest.ts
+var confluenceWorkflowAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: ConfluenceWorkflowAriResourceOwner,
+  resourceType: ConfluenceWorkflowAriResourceType,
+  resourceIdSlug: "activation/{activationId}/{workflowId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    workflowId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/confluence/workflow/index.ts
+var ConfluenceWorkflowAri = class _ConfluenceWorkflowAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._workflowId = opts.resourceIdSegmentValues.workflowId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get workflowId() {
+    return this._workflowId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: confluenceWorkflowAriStaticOpts.qualifier,
+      platformQualifier: confluenceWorkflowAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: confluenceWorkflowAriStaticOpts.resourceOwner,
+      resourceType: confluenceWorkflowAriStaticOpts.resourceType,
+      resourceId: `activation/${opts.activationId}/${opts.workflowId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        workflowId: opts.workflowId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, confluenceWorkflowAriStaticOpts);
+    return new _ConfluenceWorkflowAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, confluenceWorkflowAriStaticOpts);
+    return new _ConfluenceWorkflowAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      workflowId: this.workflowId
+    };
+  }
+};
+
 // src/confluence/workspace/types.ts
 var ConfluenceWorkspaceAriResourceOwner = "confluence", ConfluenceWorkspaceAriResourceType = "workspace";
 
 // src/confluence/workspace/manifest.ts
 var confluenceWorkspaceAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
-  cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: ConfluenceWorkspaceAriResourceOwner,
   resourceType: ConfluenceWorkspaceAriResourceType,
   resourceIdSlug: "{activationId}",
   resourceIdSegmentFormats: {
@@ -1521,12 +1741,14 @@
   ConfluenceAttachmentAri,
   ConfluenceBlogpostAri,
   ConfluenceCommentAri,
   ConfluenceContentAri,
+  ConfluenceCustomContentAri,
   ConfluenceDatabaseAri,
   ConfluenceEmbedAri,
   ConfluenceEventAri,
   ConfluenceFolderAri,
+  ConfluenceLabelAri,
   ConfluenceLongRunningTaskAri,
   ConfluenceNoteAri,
   ConfluencePageAri,
   ConfluencePublicLinkAri,
@@ -1536,6 +1758,7 @@
   ConfluenceTaskAri,
   ConfluenceTeamCalendarAri,
   ConfluenceUserPropertyAri,
   ConfluenceWhiteboardAri,
+  ConfluenceWorkflowAri,
   ConfluenceWorkspaceAri
 });