npm package diff

Package: @forge/util

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

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

Index: package/packages/ari/passionfruit/index.js
===================================================================
--- package/packages/ari/passionfruit/index.js
+++ package/packages/ari/passionfruit/index.js
@@ -16,18 +16,30 @@
 
 // src/passionfruit/index.ts
 var passionfruit_exports = {};
 __export(passionfruit_exports, {
-  PassionfruitUserAri: () => PassionfruitUserAri
+  PassionfruitAskActivityAri: () => PassionfruitAskActivityAri,
+  PassionfruitAskAri: () => PassionfruitAskAri,
+  PassionfruitAskCommentAri: () => PassionfruitAskCommentAri,
+  PassionfruitAskLinkAri: () => PassionfruitAskLinkAri,
+  PassionfruitAskUpdateAri: () => PassionfruitAskUpdateAri,
+  PassionfruitDependencyAri: () => PassionfruitDependencyAri,
+  PassionfruitDependencyCommentAri: () => PassionfruitDependencyCommentAri,
+  PassionfruitDependencyRelatedContentAri: () => PassionfruitDependencyRelatedContentAri,
+  PassionfruitDependencyUpdateAri: () => PassionfruitDependencyUpdateAri,
+  PassionfruitRoleAri: () => PassionfruitRoleAri,
+  PassionfruitSiteAri: () => PassionfruitSiteAri,
+  PassionfruitUserAri: () => PassionfruitUserAri,
+  PassionfruitWorkspaceAri: () => PassionfruitWorkspaceAri
 });
 module.exports = __toCommonJS(passionfruit_exports);
 
 // src/errors.ts
 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}.`);
 }
 
@@ -47,9 +59,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}.`);
 }
@@ -274,16 +286,737 @@
     return AnyAri.parse(this.toString());
   }
 };
 
+// src/passionfruit/ask/types.ts
+var PassionfruitAskAriResourceOwner = "passionfruit", PassionfruitAskAriResourceType = "ask";
+
+// src/passionfruit/ask/manifest.ts
+var passionfruitAskAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: PassionfruitAskAriResourceOwner,
+  resourceType: PassionfruitAskAriResourceType,
+  resourceIdSlug: "workspace/{activationId}/{askId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    askId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/passionfruit/ask/index.ts
+var PassionfruitAskAri = class _PassionfruitAskAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._askId = opts.resourceIdSegmentValues.askId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get askId() {
+    return this._askId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: passionfruitAskAriStaticOpts.qualifier,
+      platformQualifier: passionfruitAskAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: passionfruitAskAriStaticOpts.resourceOwner,
+      resourceType: passionfruitAskAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.activationId}/${opts.askId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        askId: opts.askId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, passionfruitAskAriStaticOpts);
+    return new _PassionfruitAskAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, passionfruitAskAriStaticOpts);
+    return new _PassionfruitAskAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      askId: this.askId
+    };
+  }
+};
+
+// src/passionfruit/ask-activity/types.ts
+var PassionfruitAskActivityAriResourceOwner = "passionfruit", PassionfruitAskActivityAriResourceType = "ask-activity";
+
+// src/passionfruit/ask-activity/manifest.ts
+var passionfruitAskActivityAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: PassionfruitAskActivityAriResourceOwner,
+  resourceType: PassionfruitAskActivityAriResourceType,
+  resourceIdSlug: "workspace/{activationId}/{askId}/{askActivityId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    askId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,
+    // eslint-disable-line no-useless-escape
+    askActivityId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/passionfruit/ask-activity/index.ts
+var PassionfruitAskActivityAri = class _PassionfruitAskActivityAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._askId = opts.resourceIdSegmentValues.askId, this._askActivityId = opts.resourceIdSegmentValues.askActivityId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get askId() {
+    return this._askId;
+  }
+  get askActivityId() {
+    return this._askActivityId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: passionfruitAskActivityAriStaticOpts.qualifier,
+      platformQualifier: passionfruitAskActivityAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: passionfruitAskActivityAriStaticOpts.resourceOwner,
+      resourceType: passionfruitAskActivityAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.activationId}/${opts.askId}/${opts.askActivityId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        askId: opts.askId,
+        askActivityId: opts.askActivityId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, passionfruitAskActivityAriStaticOpts);
+    return new _PassionfruitAskActivityAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, passionfruitAskActivityAriStaticOpts);
+    return new _PassionfruitAskActivityAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      askId: this.askId,
+      askActivityId: this.askActivityId
+    };
+  }
+};
+
+// src/passionfruit/ask-comment/types.ts
+var PassionfruitAskCommentAriResourceOwner = "passionfruit", PassionfruitAskCommentAriResourceType = "ask-comment";
+
+// src/passionfruit/ask-comment/manifest.ts
+var passionfruitAskCommentAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: PassionfruitAskCommentAriResourceOwner,
+  resourceType: PassionfruitAskCommentAriResourceType,
+  resourceIdSlug: "workspace/{activationId}/{askId}/{commentId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    askId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,
+    // eslint-disable-line no-useless-escape
+    commentId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/passionfruit/ask-comment/index.ts
+var PassionfruitAskCommentAri = class _PassionfruitAskCommentAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._askId = opts.resourceIdSegmentValues.askId, this._commentId = opts.resourceIdSegmentValues.commentId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get askId() {
+    return this._askId;
+  }
+  get commentId() {
+    return this._commentId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: passionfruitAskCommentAriStaticOpts.qualifier,
+      platformQualifier: passionfruitAskCommentAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: passionfruitAskCommentAriStaticOpts.resourceOwner,
+      resourceType: passionfruitAskCommentAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.activationId}/${opts.askId}/${opts.commentId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        askId: opts.askId,
+        commentId: opts.commentId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, passionfruitAskCommentAriStaticOpts);
+    return new _PassionfruitAskCommentAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, passionfruitAskCommentAriStaticOpts);
+    return new _PassionfruitAskCommentAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      askId: this.askId,
+      commentId: this.commentId
+    };
+  }
+};
+
+// src/passionfruit/ask-link/types.ts
+var PassionfruitAskLinkAriResourceOwner = "passionfruit", PassionfruitAskLinkAriResourceType = "ask-link";
+
+// src/passionfruit/ask-link/manifest.ts
+var passionfruitAskLinkAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: PassionfruitAskLinkAriResourceOwner,
+  resourceType: PassionfruitAskLinkAriResourceType,
+  resourceIdSlug: "workspace/{activationId}/{askId}/{linkId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    askId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,
+    // eslint-disable-line no-useless-escape
+    linkId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/passionfruit/ask-link/index.ts
+var PassionfruitAskLinkAri = class _PassionfruitAskLinkAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._askId = opts.resourceIdSegmentValues.askId, this._linkId = opts.resourceIdSegmentValues.linkId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get askId() {
+    return this._askId;
+  }
+  get linkId() {
+    return this._linkId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: passionfruitAskLinkAriStaticOpts.qualifier,
+      platformQualifier: passionfruitAskLinkAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: passionfruitAskLinkAriStaticOpts.resourceOwner,
+      resourceType: passionfruitAskLinkAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.activationId}/${opts.askId}/${opts.linkId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        askId: opts.askId,
+        linkId: opts.linkId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, passionfruitAskLinkAriStaticOpts);
+    return new _PassionfruitAskLinkAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, passionfruitAskLinkAriStaticOpts);
+    return new _PassionfruitAskLinkAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      askId: this.askId,
+      linkId: this.linkId
+    };
+  }
+};
+
+// src/passionfruit/ask-update/types.ts
+var PassionfruitAskUpdateAriResourceOwner = "passionfruit", PassionfruitAskUpdateAriResourceType = "ask-update";
+
+// src/passionfruit/ask-update/manifest.ts
+var passionfruitAskUpdateAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: PassionfruitAskUpdateAriResourceOwner,
+  resourceType: PassionfruitAskUpdateAriResourceType,
+  resourceIdSlug: "workspace/{activationId}/{askId}/{askUpdateId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    askId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,
+    // eslint-disable-line no-useless-escape
+    askUpdateId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/passionfruit/ask-update/index.ts
+var PassionfruitAskUpdateAri = class _PassionfruitAskUpdateAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._askId = opts.resourceIdSegmentValues.askId, this._askUpdateId = opts.resourceIdSegmentValues.askUpdateId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get askId() {
+    return this._askId;
+  }
+  get askUpdateId() {
+    return this._askUpdateId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: passionfruitAskUpdateAriStaticOpts.qualifier,
+      platformQualifier: passionfruitAskUpdateAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: passionfruitAskUpdateAriStaticOpts.resourceOwner,
+      resourceType: passionfruitAskUpdateAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.activationId}/${opts.askId}/${opts.askUpdateId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        askId: opts.askId,
+        askUpdateId: opts.askUpdateId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, passionfruitAskUpdateAriStaticOpts);
+    return new _PassionfruitAskUpdateAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, passionfruitAskUpdateAriStaticOpts);
+    return new _PassionfruitAskUpdateAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      askId: this.askId,
+      askUpdateId: this.askUpdateId
+    };
+  }
+};
+
+// src/passionfruit/dependency/types.ts
+var PassionfruitDependencyAriResourceOwner = "passionfruit", PassionfruitDependencyAriResourceType = "dependency";
+
+// src/passionfruit/dependency/manifest.ts
+var passionfruitDependencyAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: PassionfruitDependencyAriResourceOwner,
+  resourceType: PassionfruitDependencyAriResourceType,
+  resourceIdSlug: "workspace/{activationId}/{dependencyId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    dependencyId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/passionfruit/dependency/index.ts
+var PassionfruitDependencyAri = class _PassionfruitDependencyAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._dependencyId = opts.resourceIdSegmentValues.dependencyId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get dependencyId() {
+    return this._dependencyId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: passionfruitDependencyAriStaticOpts.qualifier,
+      platformQualifier: passionfruitDependencyAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: passionfruitDependencyAriStaticOpts.resourceOwner,
+      resourceType: passionfruitDependencyAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.activationId}/${opts.dependencyId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        dependencyId: opts.dependencyId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, passionfruitDependencyAriStaticOpts);
+    return new _PassionfruitDependencyAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, passionfruitDependencyAriStaticOpts);
+    return new _PassionfruitDependencyAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      dependencyId: this.dependencyId
+    };
+  }
+};
+
+// src/passionfruit/dependency-comment/types.ts
+var PassionfruitDependencyCommentAriResourceOwner = "passionfruit", PassionfruitDependencyCommentAriResourceType = "dependency-comment";
+
+// src/passionfruit/dependency-comment/manifest.ts
+var passionfruitDependencyCommentAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: PassionfruitDependencyCommentAriResourceOwner,
+  resourceType: PassionfruitDependencyCommentAriResourceType,
+  resourceIdSlug: "workspace/{activationId}/{dependencyId}/{commentId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    dependencyId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,
+    // eslint-disable-line no-useless-escape
+    commentId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/passionfruit/dependency-comment/index.ts
+var PassionfruitDependencyCommentAri = class _PassionfruitDependencyCommentAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._dependencyId = opts.resourceIdSegmentValues.dependencyId, this._commentId = opts.resourceIdSegmentValues.commentId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get dependencyId() {
+    return this._dependencyId;
+  }
+  get commentId() {
+    return this._commentId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: passionfruitDependencyCommentAriStaticOpts.qualifier,
+      platformQualifier: passionfruitDependencyCommentAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: passionfruitDependencyCommentAriStaticOpts.resourceOwner,
+      resourceType: passionfruitDependencyCommentAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.activationId}/${opts.dependencyId}/${opts.commentId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        dependencyId: opts.dependencyId,
+        commentId: opts.commentId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, passionfruitDependencyCommentAriStaticOpts);
+    return new _PassionfruitDependencyCommentAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, passionfruitDependencyCommentAriStaticOpts);
+    return new _PassionfruitDependencyCommentAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      dependencyId: this.dependencyId,
+      commentId: this.commentId
+    };
+  }
+};
+
+// src/passionfruit/dependency-related-content/types.ts
+var PassionfruitDependencyRelatedContentAriResourceOwner = "passionfruit", PassionfruitDependencyRelatedContentAriResourceType = "dependency-related-content";
+
+// src/passionfruit/dependency-related-content/manifest.ts
+var passionfruitDependencyRelatedContentAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: PassionfruitDependencyRelatedContentAriResourceOwner,
+  resourceType: PassionfruitDependencyRelatedContentAriResourceType,
+  resourceIdSlug: "workspace/{activationId}/{dependencyId}/{relatedContentId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    dependencyId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,
+    // eslint-disable-line no-useless-escape
+    relatedContentId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/passionfruit/dependency-related-content/index.ts
+var PassionfruitDependencyRelatedContentAri = class _PassionfruitDependencyRelatedContentAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._dependencyId = opts.resourceIdSegmentValues.dependencyId, this._relatedContentId = opts.resourceIdSegmentValues.relatedContentId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get dependencyId() {
+    return this._dependencyId;
+  }
+  get relatedContentId() {
+    return this._relatedContentId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: passionfruitDependencyRelatedContentAriStaticOpts.qualifier,
+      platformQualifier: passionfruitDependencyRelatedContentAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: passionfruitDependencyRelatedContentAriStaticOpts.resourceOwner,
+      resourceType: passionfruitDependencyRelatedContentAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.activationId}/${opts.dependencyId}/${opts.relatedContentId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        dependencyId: opts.dependencyId,
+        relatedContentId: opts.relatedContentId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, passionfruitDependencyRelatedContentAriStaticOpts);
+    return new _PassionfruitDependencyRelatedContentAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, passionfruitDependencyRelatedContentAriStaticOpts);
+    return new _PassionfruitDependencyRelatedContentAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      dependencyId: this.dependencyId,
+      relatedContentId: this.relatedContentId
+    };
+  }
+};
+
+// src/passionfruit/dependency-update/types.ts
+var PassionfruitDependencyUpdateAriResourceOwner = "passionfruit", PassionfruitDependencyUpdateAriResourceType = "dependency-update";
+
+// src/passionfruit/dependency-update/manifest.ts
+var passionfruitDependencyUpdateAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: PassionfruitDependencyUpdateAriResourceOwner,
+  resourceType: PassionfruitDependencyUpdateAriResourceType,
+  resourceIdSlug: "workspace/{activationId}/{dependencyId}/{dependencyUpdateId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    dependencyId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/,
+    // eslint-disable-line no-useless-escape
+    dependencyUpdateId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/passionfruit/dependency-update/index.ts
+var PassionfruitDependencyUpdateAri = class _PassionfruitDependencyUpdateAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._dependencyId = opts.resourceIdSegmentValues.dependencyId, this._dependencyUpdateId = opts.resourceIdSegmentValues.dependencyUpdateId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get dependencyId() {
+    return this._dependencyId;
+  }
+  get dependencyUpdateId() {
+    return this._dependencyUpdateId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: passionfruitDependencyUpdateAriStaticOpts.qualifier,
+      platformQualifier: passionfruitDependencyUpdateAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: passionfruitDependencyUpdateAriStaticOpts.resourceOwner,
+      resourceType: passionfruitDependencyUpdateAriStaticOpts.resourceType,
+      resourceId: `workspace/${opts.activationId}/${opts.dependencyId}/${opts.dependencyUpdateId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        dependencyId: opts.dependencyId,
+        dependencyUpdateId: opts.dependencyUpdateId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, passionfruitDependencyUpdateAriStaticOpts);
+    return new _PassionfruitDependencyUpdateAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, passionfruitDependencyUpdateAriStaticOpts);
+    return new _PassionfruitDependencyUpdateAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      dependencyId: this.dependencyId,
+      dependencyUpdateId: this.dependencyUpdateId
+    };
+  }
+};
+
+// src/passionfruit/role/types.ts
+var PassionfruitRoleAriResourceOwner = "passionfruit", PassionfruitRoleAriResourceType = "role";
+
+// src/passionfruit/role/manifest.ts
+var passionfruitRoleAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: PassionfruitRoleAriResourceOwner,
+  resourceType: PassionfruitRoleAriResourceType,
+  resourceIdSlug: "product/{roleType}",
+  resourceIdSegmentFormats: {
+    roleType: /(?:admin|member|user-admin)/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/passionfruit/role/index.ts
+var PassionfruitRoleAri = class _PassionfruitRoleAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._roleType = opts.resourceIdSegmentValues.roleType;
+  }
+  get roleType() {
+    return this._roleType;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: passionfruitRoleAriStaticOpts.qualifier,
+      platformQualifier: passionfruitRoleAriStaticOpts.platformQualifier,
+      cloudId: void 0,
+      resourceOwner: passionfruitRoleAriStaticOpts.resourceOwner,
+      resourceType: passionfruitRoleAriStaticOpts.resourceType,
+      resourceId: `product/${opts.roleType}`,
+      resourceIdSegmentValues: {
+        roleType: opts.roleType
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, passionfruitRoleAriStaticOpts);
+    return new _PassionfruitRoleAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, passionfruitRoleAriStaticOpts);
+    return new _PassionfruitRoleAri(opts);
+  }
+  getVariables() {
+    return {
+      roleType: this.roleType
+    };
+  }
+};
+
+// src/passionfruit/site/types.ts
+var PassionfruitSiteAriResourceOwner = "passionfruit", PassionfruitSiteAriResourceType = "site";
+
+// src/passionfruit/site/manifest.ts
+var passionfruitSiteAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: PassionfruitSiteAriResourceOwner,
+  resourceType: PassionfruitSiteAriResourceType,
+  resourceIdSlug: "{siteId}",
+  resourceIdSegmentFormats: {
+    siteId: /[a-zA-Z0-9_\-.]{1,255}/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/passionfruit/site/index.ts
+var PassionfruitSiteAri = class _PassionfruitSiteAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.resourceIdSegmentValues.siteId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: passionfruitSiteAriStaticOpts.qualifier,
+      platformQualifier: passionfruitSiteAriStaticOpts.platformQualifier,
+      cloudId: void 0,
+      resourceOwner: passionfruitSiteAriStaticOpts.resourceOwner,
+      resourceType: passionfruitSiteAriStaticOpts.resourceType,
+      resourceId: `${opts.siteId}`,
+      resourceIdSegmentValues: {
+        siteId: opts.siteId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, passionfruitSiteAriStaticOpts);
+    return new _PassionfruitSiteAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, passionfruitSiteAriStaticOpts);
+    return new _PassionfruitSiteAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId
+    };
+  }
+};
+
 // src/passionfruit/user/types.ts
 var PassionfruitUserAriResourceOwner = "passionfruit", PassionfruitUserAriResourceType = "user";
 
 // src/passionfruit/user/manifest.ts
 var passionfruitUserAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: PassionfruitUserAriResourceOwner,
   resourceType: PassionfruitUserAriResourceType,
   resourceIdSlug: "{userId}",
   resourceIdSegmentFormats: {
@@ -324,8 +1057,76 @@
       userId: this.userId
     };
   }
 };
+
+// src/passionfruit/workspace/types.ts
+var PassionfruitWorkspaceAriResourceOwner = "passionfruit", PassionfruitWorkspaceAriResourceType = "workspace";
+
+// src/passionfruit/workspace/manifest.ts
+var passionfruitWorkspaceAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: PassionfruitWorkspaceAriResourceOwner,
+  resourceType: PassionfruitWorkspaceAriResourceType,
+  resourceIdSlug: "{activationId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/passionfruit/workspace/index.ts
+var PassionfruitWorkspaceAri = class _PassionfruitWorkspaceAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: passionfruitWorkspaceAriStaticOpts.qualifier,
+      platformQualifier: passionfruitWorkspaceAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: passionfruitWorkspaceAriStaticOpts.resourceOwner,
+      resourceType: passionfruitWorkspaceAriStaticOpts.resourceType,
+      resourceId: `${opts.activationId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, passionfruitWorkspaceAriStaticOpts);
+    return new _PassionfruitWorkspaceAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, passionfruitWorkspaceAriStaticOpts);
+    return new _PassionfruitWorkspaceAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId
+    };
+  }
+};
 // Annotate the CommonJS export names for ESM import in node:
 0 && (module.exports = {
-  PassionfruitUserAri
+  PassionfruitAskActivityAri,
+  PassionfruitAskAri,
+  PassionfruitAskCommentAri,
+  PassionfruitAskLinkAri,
+  PassionfruitAskUpdateAri,
+  PassionfruitDependencyAri,
+  PassionfruitDependencyCommentAri,
+  PassionfruitDependencyRelatedContentAri,
+  PassionfruitDependencyUpdateAri,
+  PassionfruitRoleAri,
+  PassionfruitSiteAri,
+  PassionfruitUserAri,
+  PassionfruitWorkspaceAri
 });