npm package diff

Package: @forge/util

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

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

Index: package/packages/ari/compass/index.js
===================================================================
--- package/packages/ari/compass/index.js
+++ package/packages/ari/compass/index.js
@@ -16,19 +16,24 @@
 
 // src/compass/index.ts
 var compass_exports = {};
 __export(compass_exports, {
+  CompassApiEndpointAri: () => CompassApiEndpointAri,
   CompassAssistantAnswerAri: () => CompassAssistantAnswerAri,
+  CompassCampaignAri: () => CompassCampaignAri,
   CompassComponentAri: () => CompassComponentAri,
   CompassComponentLabelAri: () => CompassComponentLabelAri,
   CompassComponentLinkAri: () => CompassComponentLinkAri,
+  CompassComponentTypeAri: () => CompassComponentTypeAri,
   CompassCustomFieldDefinitionAri: () => CompassCustomFieldDefinitionAri,
   CompassDocumentAri: () => CompassDocumentAri,
   CompassDocumentationCategoryAri: () => CompassDocumentationCategoryAri,
   CompassEventSourceAri: () => CompassEventSourceAri,
   CompassIncomingWebhookAri: () => CompassIncomingWebhookAri,
+  CompassLibraryScorecardAri: () => CompassLibraryScorecardAri,
   CompassMetricDefinitionAri: () => CompassMetricDefinitionAri,
   CompassMetricSourceAri: () => CompassMetricSourceAri,
+  CompassPackageAri: () => CompassPackageAri,
   CompassRoleAri: () => CompassRoleAri,
   CompassScorecardAri: () => CompassScorecardAri,
   CompassSiteAri: () => CompassSiteAri,
   CompassUserDefinedParameterAri: () => CompassUserDefinedParameterAri,
@@ -41,9 +46,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}.`);
 }
 
@@ -63,9 +68,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}.`);
 }
@@ -290,16 +295,80 @@
     return AnyAri.parse(this.toString());
   }
 };
 
+// src/compass/api-endpoint/types.ts
+var CompassApiEndpointAriResourceOwner = "compass", CompassApiEndpointAriResourceType = "api-endpoint";
+
+// src/compass/api-endpoint/manifest.ts
+var compassApiEndpointAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: CompassApiEndpointAriResourceOwner,
+  resourceType: CompassApiEndpointAriResourceType,
+  resourceIdSlug: "{workspaceId}/{endpointId}",
+  resourceIdSegmentFormats: {
+    workspaceId: /[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
+    endpointId: /[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/compass/api-endpoint/index.ts
+var CompassApiEndpointAri = class _CompassApiEndpointAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._workspaceId = opts.resourceIdSegmentValues.workspaceId, this._endpointId = opts.resourceIdSegmentValues.endpointId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get workspaceId() {
+    return this._workspaceId;
+  }
+  get endpointId() {
+    return this._endpointId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: compassApiEndpointAriStaticOpts.qualifier,
+      platformQualifier: compassApiEndpointAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: compassApiEndpointAriStaticOpts.resourceOwner,
+      resourceType: compassApiEndpointAriStaticOpts.resourceType,
+      resourceId: `${opts.workspaceId}/${opts.endpointId}`,
+      resourceIdSegmentValues: {
+        workspaceId: opts.workspaceId,
+        endpointId: opts.endpointId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, compassApiEndpointAriStaticOpts);
+    return new _CompassApiEndpointAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, compassApiEndpointAriStaticOpts);
+    return new _CompassApiEndpointAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      workspaceId: this.workspaceId,
+      endpointId: this.endpointId
+    };
+  }
+};
+
 // src/compass/assistant-answer/types.ts
 var CompassAssistantAnswerAriResourceOwner = "compass", CompassAssistantAnswerAriResourceType = "assistant-answer";
 
 // src/compass/assistant-answer/manifest.ts
 var compassAssistantAnswerAriStaticOpts = {
   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: CompassAssistantAnswerAriResourceOwner,
   resourceType: CompassAssistantAnswerAriResourceType,
   resourceIdSlug: "{workspaceId}/{answerId}",
   resourceIdSegmentFormats: {
@@ -352,16 +421,80 @@
     };
   }
 };
 
+// src/compass/campaign/types.ts
+var CompassCampaignAriResourceOwner = "compass", CompassCampaignAriResourceType = "campaign";
+
+// src/compass/campaign/manifest.ts
+var compassCampaignAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: CompassCampaignAriResourceOwner,
+  resourceType: CompassCampaignAriResourceType,
+  resourceIdSlug: "{workspaceId}/{campaignId}",
+  resourceIdSegmentFormats: {
+    workspaceId: /[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
+    campaignId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/compass/campaign/index.ts
+var CompassCampaignAri = class _CompassCampaignAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._workspaceId = opts.resourceIdSegmentValues.workspaceId, this._campaignId = opts.resourceIdSegmentValues.campaignId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get workspaceId() {
+    return this._workspaceId;
+  }
+  get campaignId() {
+    return this._campaignId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: compassCampaignAriStaticOpts.qualifier,
+      platformQualifier: compassCampaignAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: compassCampaignAriStaticOpts.resourceOwner,
+      resourceType: compassCampaignAriStaticOpts.resourceType,
+      resourceId: `${opts.workspaceId}/${opts.campaignId}`,
+      resourceIdSegmentValues: {
+        workspaceId: opts.workspaceId,
+        campaignId: opts.campaignId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, compassCampaignAriStaticOpts);
+    return new _CompassCampaignAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, compassCampaignAriStaticOpts);
+    return new _CompassCampaignAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      workspaceId: this.workspaceId,
+      campaignId: this.campaignId
+    };
+  }
+};
+
 // src/compass/component/types.ts
 var CompassComponentAriResourceOwner = "compass", CompassComponentAriResourceType = "component";
 
 // src/compass/component/manifest.ts
 var compassComponentAriStaticOpts = {
   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: CompassComponentAriResourceOwner,
   resourceType: CompassComponentAriResourceType,
   resourceIdSlug: "{workspaceId}/{componentId}",
   resourceIdSegmentFormats: {
@@ -421,9 +554,10 @@
 // src/compass/component-label/manifest.ts
 var compassComponentLabelAriStaticOpts = {
   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: CompassComponentLabelAriResourceOwner,
   resourceType: CompassComponentLabelAriResourceType,
   resourceIdSlug: "{workspaceId}/{labelId}",
   resourceIdSegmentFormats: {
@@ -483,9 +617,10 @@
 // src/compass/component-link/manifest.ts
 var compassComponentLinkAriStaticOpts = {
   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: CompassComponentLinkAriResourceOwner,
   resourceType: CompassComponentLinkAriResourceType,
   resourceIdSlug: "{workspaceId}/{componentId}/{componentLinkId}",
   resourceIdSegmentFormats: {
@@ -545,23 +680,87 @@
     };
   }
 };
 
+// src/compass/component-type/types.ts
+var CompassComponentTypeAriResourceOwner = "compass", CompassComponentTypeAriResourceType = "component-type";
+
+// src/compass/component-type/manifest.ts
+var compassComponentTypeAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: CompassComponentTypeAriResourceOwner,
+  resourceType: CompassComponentTypeAriResourceType,
+  resourceIdSlug: "{workspaceId}/{typeId}",
+  resourceIdSegmentFormats: {
+    workspaceId: /[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
+    typeId: /[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/compass/component-type/index.ts
+var CompassComponentTypeAri = class _CompassComponentTypeAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._workspaceId = opts.resourceIdSegmentValues.workspaceId, this._typeId = opts.resourceIdSegmentValues.typeId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get workspaceId() {
+    return this._workspaceId;
+  }
+  get typeId() {
+    return this._typeId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: compassComponentTypeAriStaticOpts.qualifier,
+      platformQualifier: compassComponentTypeAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: compassComponentTypeAriStaticOpts.resourceOwner,
+      resourceType: compassComponentTypeAriStaticOpts.resourceType,
+      resourceId: `${opts.workspaceId}/${opts.typeId}`,
+      resourceIdSegmentValues: {
+        workspaceId: opts.workspaceId,
+        typeId: opts.typeId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, compassComponentTypeAriStaticOpts);
+    return new _CompassComponentTypeAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, compassComponentTypeAriStaticOpts);
+    return new _CompassComponentTypeAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      workspaceId: this.workspaceId,
+      typeId: this.typeId
+    };
+  }
+};
+
 // src/compass/custom-field-definition/types.ts
 var CompassCustomFieldDefinitionAriResourceOwner = "compass", CompassCustomFieldDefinitionAriResourceType = "custom-field-definition";
 
 // src/compass/custom-field-definition/manifest.ts
 var compassCustomFieldDefinitionAriStaticOpts = {
   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: CompassCustomFieldDefinitionAriResourceOwner,
   resourceType: CompassCustomFieldDefinitionAriResourceType,
   resourceIdSlug: "{workspaceId}/{definitionId}",
   resourceIdSegmentFormats: {
     workspaceId: /[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
-    definitionId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    definitionId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -614,9 +813,10 @@
 // src/compass/document/manifest.ts
 var compassDocumentAriStaticOpts = {
   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: CompassDocumentAriResourceOwner,
   resourceType: CompassDocumentAriResourceType,
   resourceIdSlug: "{workspaceId}/{documentId}",
   resourceIdSegmentFormats: {
@@ -676,9 +876,10 @@
 // src/compass/documentation-category/manifest.ts
 var compassDocumentationCategoryAriStaticOpts = {
   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: CompassDocumentationCategoryAriResourceOwner,
   resourceType: CompassDocumentationCategoryAriResourceType,
   resourceIdSlug: "{workspaceId}/{documentationCategoryId}",
   resourceIdSegmentFormats: {
@@ -738,16 +939,17 @@
 // src/compass/event-source/manifest.ts
 var compassEventSourceAriStaticOpts = {
   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: CompassEventSourceAriResourceOwner,
   resourceType: CompassEventSourceAriResourceType,
   resourceIdSlug: "{workspaceId}/{eventSourceId}",
   resourceIdSegmentFormats: {
     workspaceId: /[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
-    eventSourceId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    eventSourceId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -800,9 +1002,10 @@
 // src/compass/incoming-webhook/manifest.ts
 var compassIncomingWebhookAriStaticOpts = {
   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: CompassIncomingWebhookAriResourceOwner,
   resourceType: CompassIncomingWebhookAriResourceType,
   resourceIdSlug: "{workspaceId}/{incomingWebhookId}",
   resourceIdSegmentFormats: {
@@ -855,23 +1058,87 @@
     };
   }
 };
 
+// src/compass/library-scorecard/types.ts
+var CompassLibraryScorecardAriResourceOwner = "compass", CompassLibraryScorecardAriResourceType = "library-scorecard";
+
+// src/compass/library-scorecard/manifest.ts
+var compassLibraryScorecardAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{0,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: CompassLibraryScorecardAriResourceOwner,
+  resourceType: CompassLibraryScorecardAriResourceType,
+  resourceIdSlug: "{workspaceId}/{libraryScorecardId}",
+  resourceIdSegmentFormats: {
+    workspaceId: /(?:builtin|[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
+    libraryScorecardId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/compass/library-scorecard/index.ts
+var CompassLibraryScorecardAri = class _CompassLibraryScorecardAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._optionalSiteId = opts.cloudId || "", this._workspaceId = opts.resourceIdSegmentValues.workspaceId, this._libraryScorecardId = opts.resourceIdSegmentValues.libraryScorecardId;
+  }
+  get optionalSiteId() {
+    return this._optionalSiteId;
+  }
+  get workspaceId() {
+    return this._workspaceId;
+  }
+  get libraryScorecardId() {
+    return this._libraryScorecardId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: compassLibraryScorecardAriStaticOpts.qualifier,
+      platformQualifier: compassLibraryScorecardAriStaticOpts.platformQualifier,
+      cloudId: opts.optionalSiteId,
+      resourceOwner: compassLibraryScorecardAriStaticOpts.resourceOwner,
+      resourceType: compassLibraryScorecardAriStaticOpts.resourceType,
+      resourceId: `${opts.workspaceId}/${opts.libraryScorecardId}`,
+      resourceIdSegmentValues: {
+        workspaceId: opts.workspaceId,
+        libraryScorecardId: opts.libraryScorecardId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, compassLibraryScorecardAriStaticOpts);
+    return new _CompassLibraryScorecardAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, compassLibraryScorecardAriStaticOpts);
+    return new _CompassLibraryScorecardAri(opts);
+  }
+  getVariables() {
+    return {
+      optionalSiteId: this.optionalSiteId,
+      workspaceId: this.workspaceId,
+      libraryScorecardId: this.libraryScorecardId
+    };
+  }
+};
+
 // src/compass/metric-definition/types.ts
 var CompassMetricDefinitionAriResourceOwner = "compass", CompassMetricDefinitionAriResourceType = "metric-definition";
 
 // src/compass/metric-definition/manifest.ts
 var compassMetricDefinitionAriStaticOpts = {
   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: CompassMetricDefinitionAriResourceOwner,
   resourceType: CompassMetricDefinitionAriResourceType,
   resourceIdSlug: "{containerId}/{definitionId}",
   resourceIdSegmentFormats: {
     containerId: /(?:builtin|forge|[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
-    definitionId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    definitionId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -924,16 +1191,17 @@
 // src/compass/metric-source/manifest.ts
 var compassMetricSourceAriStaticOpts = {
   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: CompassMetricSourceAriResourceOwner,
   resourceType: CompassMetricSourceAriResourceType,
   resourceIdSlug: "{workspaceId}/{metricSourceId}",
   resourceIdSegmentFormats: {
     workspaceId: /[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
-    metricSourceId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    metricSourceId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -979,16 +1247,80 @@
     };
   }
 };
 
+// src/compass/package/types.ts
+var CompassPackageAriResourceOwner = "compass", CompassPackageAriResourceType = "package";
+
+// src/compass/package/manifest.ts
+var compassPackageAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: CompassPackageAriResourceOwner,
+  resourceType: CompassPackageAriResourceType,
+  resourceIdSlug: "{workspaceId}/{packageId}",
+  resourceIdSegmentFormats: {
+    workspaceId: /[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
+    packageId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/compass/package/index.ts
+var CompassPackageAri = class _CompassPackageAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._workspaceId = opts.resourceIdSegmentValues.workspaceId, this._packageId = opts.resourceIdSegmentValues.packageId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get workspaceId() {
+    return this._workspaceId;
+  }
+  get packageId() {
+    return this._packageId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: compassPackageAriStaticOpts.qualifier,
+      platformQualifier: compassPackageAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: compassPackageAriStaticOpts.resourceOwner,
+      resourceType: compassPackageAriStaticOpts.resourceType,
+      resourceId: `${opts.workspaceId}/${opts.packageId}`,
+      resourceIdSegmentValues: {
+        workspaceId: opts.workspaceId,
+        packageId: opts.packageId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, compassPackageAriStaticOpts);
+    return new _CompassPackageAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, compassPackageAriStaticOpts);
+    return new _CompassPackageAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      workspaceId: this.workspaceId,
+      packageId: this.packageId
+    };
+  }
+};
+
 // src/compass/role/types.ts
 var CompassRoleAriResourceOwner = "compass", CompassRoleAriResourceType = "role";
 
 // src/compass/role/manifest.ts
 var compassRoleAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: CompassRoleAriResourceOwner,
   resourceType: CompassRoleAriResourceType,
   resourceIdSlug: "product/{roleType}",
   resourceIdSegmentFormats: {
@@ -1037,16 +1369,17 @@
 // src/compass/scorecard/manifest.ts
 var compassScorecardAriStaticOpts = {
   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: CompassScorecardAriResourceOwner,
   resourceType: CompassScorecardAriResourceType,
   resourceIdSlug: "{workspaceId}/{scorecardId}",
   resourceIdSegmentFormats: {
     workspaceId: /[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
-    scorecardId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    scorecardId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -1100,13 +1433,14 @@
 var compassSiteAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: CompassSiteAriResourceOwner,
   resourceType: CompassSiteAriResourceType,
   resourceIdSlug: "{siteId}",
   resourceIdSegmentFormats: {
-    siteId: /[a-zA-Z0-9\-]+/
+    siteId: /[a-zA-Z0-9_\-.]{1,255}/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -1150,9 +1484,10 @@
 // src/compass/user-defined-parameter/manifest.ts
 var compassUserDefinedParameterAriStaticOpts = {
   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: CompassUserDefinedParameterAriResourceOwner,
   resourceType: CompassUserDefinedParameterAriResourceType,
   resourceIdSlug: "{workspaceId}/{userDefinedParameterId}",
   resourceIdSegmentFormats: {
@@ -1212,9 +1547,10 @@
 // src/compass/webhook/manifest.ts
 var compassWebhookAriStaticOpts = {
   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: CompassWebhookAriResourceOwner,
   resourceType: CompassWebhookAriResourceType,
   resourceIdSlug: "{workspaceId}/{webhookId}",
   resourceIdSegmentFormats: {
@@ -1274,9 +1610,10 @@
 // src/compass/workspace/manifest.ts
 var compassWorkspaceAriStaticOpts = {
   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: CompassWorkspaceAriResourceOwner,
   resourceType: CompassWorkspaceAriResourceType,
   resourceIdSlug: "{workspaceId}",
   resourceIdSegmentFormats: {
@@ -1323,19 +1660,24 @@
   }
 };
 // Annotate the CommonJS export names for ESM import in node:
 0 && (module.exports = {
+  CompassApiEndpointAri,
   CompassAssistantAnswerAri,
+  CompassCampaignAri,
   CompassComponentAri,
   CompassComponentLabelAri,
   CompassComponentLinkAri,
+  CompassComponentTypeAri,
   CompassCustomFieldDefinitionAri,
   CompassDocumentAri,
   CompassDocumentationCategoryAri,
   CompassEventSourceAri,
   CompassIncomingWebhookAri,
+  CompassLibraryScorecardAri,
   CompassMetricDefinitionAri,
   CompassMetricSourceAri,
+  CompassPackageAri,
   CompassRoleAri,
   CompassScorecardAri,
   CompassSiteAri,
   CompassUserDefinedParameterAri,