npm package diff

Package: @forge/util

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

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

Index: package/packages/ari/mercury/index.js
===================================================================
--- package/packages/ari/mercury/index.js
+++ package/packages/ari/mercury/index.js
@@ -16,15 +16,22 @@
 
 // src/mercury/index.ts
 var mercury_exports = {};
 __export(mercury_exports, {
+  MercuryChangeAri: () => MercuryChangeAri,
+  MercuryChangeProposalAri: () => MercuryChangeProposalAri,
+  MercuryChangeProposalStatusAri: () => MercuryChangeProposalStatusAri,
   MercuryCommentAri: () => MercuryCommentAri,
   MercuryFocusAreaAri: () => MercuryFocusAreaAri,
   MercuryFocusAreaStatusUpdateAri: () => MercuryFocusAreaStatusUpdateAri,
+  MercuryFocusAreaTypeAri: () => MercuryFocusAreaTypeAri,
   MercuryProgramAri: () => MercuryProgramAri,
   MercuryProgramStatusUpdateAri: () => MercuryProgramStatusUpdateAri,
   MercuryRoleAri: () => MercuryRoleAri,
   MercurySiteAri: () => MercurySiteAri,
+  MercuryStrategicEventAri: () => MercuryStrategicEventAri,
+  MercuryStrategicEventStatusAri: () => MercuryStrategicEventStatusAri,
+  MercuryViewAri: () => MercuryViewAri,
   MercuryWorkspaceAri: () => MercuryWorkspaceAri
 });
 module.exports = __toCommonJS(mercury_exports);
 
@@ -32,9 +39,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}.`);
 }
 
@@ -54,9 +61,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}.`);
 }
@@ -281,16 +288,206 @@
     return AnyAri.parse(this.toString());
   }
 };
 
+// src/mercury/change/types.ts
+var MercuryChangeAriResourceOwner = "mercury", MercuryChangeAriResourceType = "change";
+
+// src/mercury/change/manifest.ts
+var mercuryChangeAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: MercuryChangeAriResourceOwner,
+  resourceType: MercuryChangeAriResourceType,
+  resourceIdSlug: "workspace/{workspaceId}/{changeId}",
+  resourceIdSegmentFormats: {
+    workspaceId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    changeId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/mercury/change/index.ts
+var MercuryChangeAri = class _MercuryChangeAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._workspaceId = opts.resourceIdSegmentValues.workspaceId, this._changeId = opts.resourceIdSegmentValues.changeId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get workspaceId() {
+    return this._workspaceId;
+  }
+  get changeId() {
+    return this._changeId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: mercuryChangeAriStaticOpts.qualifier,
+      platformQualifier: mercuryChangeAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: mercuryChangeAriStaticOpts.resourceOwner,
+      resourceType: mercuryChangeAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.workspaceId}/${opts.changeId}`,
+      resourceIdSegmentValues: {
+        workspaceId: opts.workspaceId,
+        changeId: opts.changeId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, mercuryChangeAriStaticOpts);
+    return new _MercuryChangeAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, mercuryChangeAriStaticOpts);
+    return new _MercuryChangeAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      workspaceId: this.workspaceId,
+      changeId: this.changeId
+    };
+  }
+};
+
+// src/mercury/change-proposal/types.ts
+var MercuryChangeProposalAriResourceOwner = "mercury", MercuryChangeProposalAriResourceType = "change-proposal";
+
+// src/mercury/change-proposal/manifest.ts
+var mercuryChangeProposalAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: MercuryChangeProposalAriResourceOwner,
+  resourceType: MercuryChangeProposalAriResourceType,
+  resourceIdSlug: "workspace/{workspaceId}/{changeProposalId}",
+  resourceIdSegmentFormats: {
+    workspaceId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    changeProposalId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/mercury/change-proposal/index.ts
+var MercuryChangeProposalAri = class _MercuryChangeProposalAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._workspaceId = opts.resourceIdSegmentValues.workspaceId, this._changeProposalId = opts.resourceIdSegmentValues.changeProposalId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get workspaceId() {
+    return this._workspaceId;
+  }
+  get changeProposalId() {
+    return this._changeProposalId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: mercuryChangeProposalAriStaticOpts.qualifier,
+      platformQualifier: mercuryChangeProposalAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: mercuryChangeProposalAriStaticOpts.resourceOwner,
+      resourceType: mercuryChangeProposalAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.workspaceId}/${opts.changeProposalId}`,
+      resourceIdSegmentValues: {
+        workspaceId: opts.workspaceId,
+        changeProposalId: opts.changeProposalId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, mercuryChangeProposalAriStaticOpts);
+    return new _MercuryChangeProposalAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, mercuryChangeProposalAriStaticOpts);
+    return new _MercuryChangeProposalAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      workspaceId: this.workspaceId,
+      changeProposalId: this.changeProposalId
+    };
+  }
+};
+
+// src/mercury/change-proposal-status/types.ts
+var MercuryChangeProposalStatusAriResourceOwner = "mercury", MercuryChangeProposalStatusAriResourceType = "change-proposal-status";
+
+// src/mercury/change-proposal-status/manifest.ts
+var mercuryChangeProposalStatusAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: MercuryChangeProposalStatusAriResourceOwner,
+  resourceType: MercuryChangeProposalStatusAriResourceType,
+  resourceIdSlug: "workspace/{workspaceId}/{changeProposalStatusId}",
+  resourceIdSegmentFormats: {
+    workspaceId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    changeProposalStatusId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/mercury/change-proposal-status/index.ts
+var MercuryChangeProposalStatusAri = class _MercuryChangeProposalStatusAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._workspaceId = opts.resourceIdSegmentValues.workspaceId, this._changeProposalStatusId = opts.resourceIdSegmentValues.changeProposalStatusId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get workspaceId() {
+    return this._workspaceId;
+  }
+  get changeProposalStatusId() {
+    return this._changeProposalStatusId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: mercuryChangeProposalStatusAriStaticOpts.qualifier,
+      platformQualifier: mercuryChangeProposalStatusAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: mercuryChangeProposalStatusAriStaticOpts.resourceOwner,
+      resourceType: mercuryChangeProposalStatusAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.workspaceId}/${opts.changeProposalStatusId}`,
+      resourceIdSegmentValues: {
+        workspaceId: opts.workspaceId,
+        changeProposalStatusId: opts.changeProposalStatusId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, mercuryChangeProposalStatusAriStaticOpts);
+    return new _MercuryChangeProposalStatusAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, mercuryChangeProposalStatusAriStaticOpts);
+    return new _MercuryChangeProposalStatusAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      workspaceId: this.workspaceId,
+      changeProposalStatusId: this.changeProposalStatusId
+    };
+  }
+};
+
 // src/mercury/comment/types.ts
 var MercuryCommentAriResourceOwner = "mercury", MercuryCommentAriResourceType = "comment";
 
 // src/mercury/comment/manifest.ts
 var mercuryCommentAriStaticOpts = {
   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: MercuryCommentAriResourceOwner,
   resourceType: MercuryCommentAriResourceType,
   resourceIdSlug: "workspace/{workspaceId}/{commentUuid}",
   resourceIdSegmentFormats: {
@@ -350,9 +547,10 @@
 // src/mercury/focus-area/manifest.ts
 var mercuryFocusAreaAriStaticOpts = {
   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: MercuryFocusAreaAriResourceOwner,
   resourceType: MercuryFocusAreaAriResourceType,
   resourceIdSlug: "workspace/{workspaceId}/{focusAreaId}",
   resourceIdSegmentFormats: {
@@ -412,9 +610,10 @@
 // src/mercury/focus-area-status-update/manifest.ts
 var mercuryFocusAreaStatusUpdateAriStaticOpts = {
   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: MercuryFocusAreaStatusUpdateAriResourceOwner,
   resourceType: MercuryFocusAreaStatusUpdateAriResourceType,
   resourceIdSlug: "workspace/{workspaceId}/{focusAreaStatusUpdateId}",
   resourceIdSegmentFormats: {
@@ -467,16 +666,80 @@
     };
   }
 };
 
+// src/mercury/focus-area-type/types.ts
+var MercuryFocusAreaTypeAriResourceOwner = "mercury", MercuryFocusAreaTypeAriResourceType = "focus-area-type";
+
+// src/mercury/focus-area-type/manifest.ts
+var mercuryFocusAreaTypeAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: MercuryFocusAreaTypeAriResourceOwner,
+  resourceType: MercuryFocusAreaTypeAriResourceType,
+  resourceIdSlug: "workspace/{workspaceId}/{focusAreaTypeId}",
+  resourceIdSegmentFormats: {
+    workspaceId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    focusAreaTypeId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/mercury/focus-area-type/index.ts
+var MercuryFocusAreaTypeAri = class _MercuryFocusAreaTypeAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._workspaceId = opts.resourceIdSegmentValues.workspaceId, this._focusAreaTypeId = opts.resourceIdSegmentValues.focusAreaTypeId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get workspaceId() {
+    return this._workspaceId;
+  }
+  get focusAreaTypeId() {
+    return this._focusAreaTypeId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: mercuryFocusAreaTypeAriStaticOpts.qualifier,
+      platformQualifier: mercuryFocusAreaTypeAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: mercuryFocusAreaTypeAriStaticOpts.resourceOwner,
+      resourceType: mercuryFocusAreaTypeAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.workspaceId}/${opts.focusAreaTypeId}`,
+      resourceIdSegmentValues: {
+        workspaceId: opts.workspaceId,
+        focusAreaTypeId: opts.focusAreaTypeId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, mercuryFocusAreaTypeAriStaticOpts);
+    return new _MercuryFocusAreaTypeAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, mercuryFocusAreaTypeAriStaticOpts);
+    return new _MercuryFocusAreaTypeAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      workspaceId: this.workspaceId,
+      focusAreaTypeId: this.focusAreaTypeId
+    };
+  }
+};
+
 // src/mercury/program/types.ts
 var MercuryProgramAriResourceOwner = "mercury", MercuryProgramAriResourceType = "program";
 
 // src/mercury/program/manifest.ts
 var mercuryProgramAriStaticOpts = {
   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: MercuryProgramAriResourceOwner,
   resourceType: MercuryProgramAriResourceType,
   resourceIdSlug: "workspace/{workspaceId}/{programId}",
   resourceIdSegmentFormats: {
@@ -536,9 +799,10 @@
 // src/mercury/program-status-update/manifest.ts
 var mercuryProgramStatusUpdateAriStaticOpts = {
   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: MercuryProgramStatusUpdateAriResourceOwner,
   resourceType: MercuryProgramStatusUpdateAriResourceType,
   resourceIdSlug: "workspace/{workspaceId}/{programStatusUpdateId}",
   resourceIdSegmentFormats: {
@@ -599,8 +863,9 @@
 var mercuryRoleAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: MercuryRoleAriResourceOwner,
   resourceType: MercuryRoleAriResourceType,
   resourceIdSlug: "product/{roleType}",
   resourceIdSegmentFormats: {
@@ -650,13 +915,14 @@
 var mercurySiteAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: MercurySiteAriResourceOwner,
   resourceType: MercurySiteAriResourceType,
   resourceIdSlug: "{siteId}",
   resourceIdSegmentFormats: {
-    siteId: /[a-zA-Z0-9\-]+/
+    siteId: /[a-zA-Z0-9_\-.]{1,255}/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -693,16 +959,206 @@
     };
   }
 };
 
+// src/mercury/strategic-event/types.ts
+var MercuryStrategicEventAriResourceOwner = "mercury", MercuryStrategicEventAriResourceType = "strategic-event";
+
+// src/mercury/strategic-event/manifest.ts
+var mercuryStrategicEventAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: MercuryStrategicEventAriResourceOwner,
+  resourceType: MercuryStrategicEventAriResourceType,
+  resourceIdSlug: "workspace/{workspaceId}/{strategicEventId}",
+  resourceIdSegmentFormats: {
+    workspaceId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    strategicEventId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/mercury/strategic-event/index.ts
+var MercuryStrategicEventAri = class _MercuryStrategicEventAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._workspaceId = opts.resourceIdSegmentValues.workspaceId, this._strategicEventId = opts.resourceIdSegmentValues.strategicEventId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get workspaceId() {
+    return this._workspaceId;
+  }
+  get strategicEventId() {
+    return this._strategicEventId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: mercuryStrategicEventAriStaticOpts.qualifier,
+      platformQualifier: mercuryStrategicEventAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: mercuryStrategicEventAriStaticOpts.resourceOwner,
+      resourceType: mercuryStrategicEventAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.workspaceId}/${opts.strategicEventId}`,
+      resourceIdSegmentValues: {
+        workspaceId: opts.workspaceId,
+        strategicEventId: opts.strategicEventId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, mercuryStrategicEventAriStaticOpts);
+    return new _MercuryStrategicEventAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, mercuryStrategicEventAriStaticOpts);
+    return new _MercuryStrategicEventAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      workspaceId: this.workspaceId,
+      strategicEventId: this.strategicEventId
+    };
+  }
+};
+
+// src/mercury/strategic-event-status/types.ts
+var MercuryStrategicEventStatusAriResourceOwner = "mercury", MercuryStrategicEventStatusAriResourceType = "strategic-event-status";
+
+// src/mercury/strategic-event-status/manifest.ts
+var mercuryStrategicEventStatusAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: MercuryStrategicEventStatusAriResourceOwner,
+  resourceType: MercuryStrategicEventStatusAriResourceType,
+  resourceIdSlug: "workspace/{workspaceId}/{strategicEventStatusId}",
+  resourceIdSegmentFormats: {
+    workspaceId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    strategicEventStatusId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/mercury/strategic-event-status/index.ts
+var MercuryStrategicEventStatusAri = class _MercuryStrategicEventStatusAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._workspaceId = opts.resourceIdSegmentValues.workspaceId, this._strategicEventStatusId = opts.resourceIdSegmentValues.strategicEventStatusId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get workspaceId() {
+    return this._workspaceId;
+  }
+  get strategicEventStatusId() {
+    return this._strategicEventStatusId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: mercuryStrategicEventStatusAriStaticOpts.qualifier,
+      platformQualifier: mercuryStrategicEventStatusAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: mercuryStrategicEventStatusAriStaticOpts.resourceOwner,
+      resourceType: mercuryStrategicEventStatusAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.workspaceId}/${opts.strategicEventStatusId}`,
+      resourceIdSegmentValues: {
+        workspaceId: opts.workspaceId,
+        strategicEventStatusId: opts.strategicEventStatusId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, mercuryStrategicEventStatusAriStaticOpts);
+    return new _MercuryStrategicEventStatusAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, mercuryStrategicEventStatusAriStaticOpts);
+    return new _MercuryStrategicEventStatusAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      workspaceId: this.workspaceId,
+      strategicEventStatusId: this.strategicEventStatusId
+    };
+  }
+};
+
+// src/mercury/view/types.ts
+var MercuryViewAriResourceOwner = "mercury", MercuryViewAriResourceType = "view";
+
+// src/mercury/view/manifest.ts
+var mercuryViewAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: MercuryViewAriResourceOwner,
+  resourceType: MercuryViewAriResourceType,
+  resourceIdSlug: "workspace/{workspaceId}/{viewId}",
+  resourceIdSegmentFormats: {
+    workspaceId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    viewId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/mercury/view/index.ts
+var MercuryViewAri = class _MercuryViewAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._workspaceId = opts.resourceIdSegmentValues.workspaceId, this._viewId = opts.resourceIdSegmentValues.viewId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get workspaceId() {
+    return this._workspaceId;
+  }
+  get viewId() {
+    return this._viewId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: mercuryViewAriStaticOpts.qualifier,
+      platformQualifier: mercuryViewAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: mercuryViewAriStaticOpts.resourceOwner,
+      resourceType: mercuryViewAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.workspaceId}/${opts.viewId}`,
+      resourceIdSegmentValues: {
+        workspaceId: opts.workspaceId,
+        viewId: opts.viewId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, mercuryViewAriStaticOpts);
+    return new _MercuryViewAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, mercuryViewAriStaticOpts);
+    return new _MercuryViewAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      workspaceId: this.workspaceId,
+      viewId: this.viewId
+    };
+  }
+};
+
 // src/mercury/workspace/types.ts
 var MercuryWorkspaceAriResourceOwner = "mercury", MercuryWorkspaceAriResourceType = "workspace";
 
 // src/mercury/workspace/manifest.ts
 var mercuryWorkspaceAriStaticOpts = {
   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: MercuryWorkspaceAriResourceOwner,
   resourceType: MercuryWorkspaceAriResourceType,
   resourceIdSlug: "{workspaceId}",
   resourceIdSegmentFormats: {
@@ -749,13 +1205,20 @@
   }
 };
 // Annotate the CommonJS export names for ESM import in node:
 0 && (module.exports = {
+  MercuryChangeAri,
+  MercuryChangeProposalAri,
+  MercuryChangeProposalStatusAri,
   MercuryCommentAri,
   MercuryFocusAreaAri,
   MercuryFocusAreaStatusUpdateAri,
+  MercuryFocusAreaTypeAri,
   MercuryProgramAri,
   MercuryProgramStatusUpdateAri,
   MercuryRoleAri,
   MercurySiteAri,
+  MercuryStrategicEventAri,
+  MercuryStrategicEventStatusAri,
+  MercuryViewAri,
   MercuryWorkspaceAri
 });