npm package diff

Package: @forge/util

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

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

Index: package/packages/ari/rovo/index.js
===================================================================
--- package/packages/ari/rovo/index.js
+++ package/packages/ari/rovo/index.js
@@ -16,18 +16,24 @@
 
 // src/rovo/index.ts
 var rovo_exports = {};
 __export(rovo_exports, {
-  RovoSiteAri: () => RovoSiteAri
+  RovoAgentAri: () => RovoAgentAri,
+  RovoCustomActionAri: () => RovoCustomActionAri,
+  RovoFileAri: () => RovoFileAri,
+  RovoMessageAri: () => RovoMessageAri,
+  RovoScenarioAri: () => RovoScenarioAri,
+  RovoSiteAri: () => RovoSiteAri,
+  RovoWorkspaceAri: () => RovoWorkspaceAri
 });
 module.exports = __toCommonJS(rovo_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 +53,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,21 +280,325 @@
     return AnyAri.parse(this.toString());
   }
 };
 
+// src/rovo/agent/types.ts
+var RovoAgentAriResourceOwner = "rovo", RovoAgentAriResourceType = "agent";
+
+// src/rovo/agent/manifest.ts
+var rovoAgentAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: RovoAgentAriResourceOwner,
+  resourceType: RovoAgentAriResourceType,
+  resourceIdSlug: "activation/{activationId}/{agentId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    agentId: /[a-zA-Z0-9\-]+/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/rovo/agent/index.ts
+var RovoAgentAri = class _RovoAgentAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._activationId = opts.resourceIdSegmentValues.activationId, this._agentId = opts.resourceIdSegmentValues.agentId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get agentId() {
+    return this._agentId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: rovoAgentAriStaticOpts.qualifier,
+      platformQualifier: rovoAgentAriStaticOpts.platformQualifier,
+      cloudId: void 0,
+      resourceOwner: rovoAgentAriStaticOpts.resourceOwner,
+      resourceType: rovoAgentAriStaticOpts.resourceType,
+      resourceId: `activation/${opts.activationId}/${opts.agentId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        agentId: opts.agentId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, rovoAgentAriStaticOpts);
+    return new _RovoAgentAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, rovoAgentAriStaticOpts);
+    return new _RovoAgentAri(opts);
+  }
+  getVariables() {
+    return {
+      activationId: this.activationId,
+      agentId: this.agentId
+    };
+  }
+};
+
+// src/rovo/custom-action/types.ts
+var RovoCustomActionAriResourceOwner = "rovo", RovoCustomActionAriResourceType = "custom-action";
+
+// src/rovo/custom-action/manifest.ts
+var rovoCustomActionAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: RovoCustomActionAriResourceOwner,
+  resourceType: RovoCustomActionAriResourceType,
+  resourceIdSlug: "activation/{activationId}/{customActionId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    customActionId: /[a-zA-Z0-9\-]+/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/rovo/custom-action/index.ts
+var RovoCustomActionAri = class _RovoCustomActionAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._activationId = opts.resourceIdSegmentValues.activationId, this._customActionId = opts.resourceIdSegmentValues.customActionId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get customActionId() {
+    return this._customActionId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: rovoCustomActionAriStaticOpts.qualifier,
+      platformQualifier: rovoCustomActionAriStaticOpts.platformQualifier,
+      cloudId: void 0,
+      resourceOwner: rovoCustomActionAriStaticOpts.resourceOwner,
+      resourceType: rovoCustomActionAriStaticOpts.resourceType,
+      resourceId: `activation/${opts.activationId}/${opts.customActionId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        customActionId: opts.customActionId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, rovoCustomActionAriStaticOpts);
+    return new _RovoCustomActionAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, rovoCustomActionAriStaticOpts);
+    return new _RovoCustomActionAri(opts);
+  }
+  getVariables() {
+    return {
+      activationId: this.activationId,
+      customActionId: this.customActionId
+    };
+  }
+};
+
+// src/rovo/file/types.ts
+var RovoFileAriResourceOwner = "rovo", RovoFileAriResourceType = "file";
+
+// src/rovo/file/manifest.ts
+var rovoFileAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: RovoFileAriResourceOwner,
+  resourceType: RovoFileAriResourceType,
+  resourceIdSlug: "activation/{activationId}/{fileUploadId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    fileUploadId: /[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/rovo/file/index.ts
+var RovoFileAri = class _RovoFileAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._fileUploadId = opts.resourceIdSegmentValues.fileUploadId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get fileUploadId() {
+    return this._fileUploadId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: rovoFileAriStaticOpts.qualifier,
+      platformQualifier: rovoFileAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: rovoFileAriStaticOpts.resourceOwner,
+      resourceType: rovoFileAriStaticOpts.resourceType,
+      resourceId: `activation/${opts.activationId}/${opts.fileUploadId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        fileUploadId: opts.fileUploadId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, rovoFileAriStaticOpts);
+    return new _RovoFileAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, rovoFileAriStaticOpts);
+    return new _RovoFileAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      fileUploadId: this.fileUploadId
+    };
+  }
+};
+
+// src/rovo/message/types.ts
+var RovoMessageAriResourceOwner = "rovo", RovoMessageAriResourceType = "message";
+
+// src/rovo/message/manifest.ts
+var rovoMessageAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: RovoMessageAriResourceOwner,
+  resourceType: RovoMessageAriResourceType,
+  resourceIdSlug: "activation/{activationId}/{uuid}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    uuid: /[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/rovo/message/index.ts
+var RovoMessageAri = class _RovoMessageAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._uuid = opts.resourceIdSegmentValues.uuid;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get uuid() {
+    return this._uuid;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: rovoMessageAriStaticOpts.qualifier,
+      platformQualifier: rovoMessageAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: rovoMessageAriStaticOpts.resourceOwner,
+      resourceType: rovoMessageAriStaticOpts.resourceType,
+      resourceId: `activation/${opts.activationId}/${opts.uuid}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        uuid: opts.uuid
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, rovoMessageAriStaticOpts);
+    return new _RovoMessageAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, rovoMessageAriStaticOpts);
+    return new _RovoMessageAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      uuid: this.uuid
+    };
+  }
+};
+
+// src/rovo/scenario/types.ts
+var RovoScenarioAriResourceOwner = "rovo", RovoScenarioAriResourceType = "scenario";
+
+// src/rovo/scenario/manifest.ts
+var rovoScenarioAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: RovoScenarioAriResourceOwner,
+  resourceType: RovoScenarioAriResourceType,
+  resourceIdSlug: "activation/{activationId}/{scenarioId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    scenarioId: /[a-zA-Z0-9\-]+/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/rovo/scenario/index.ts
+var RovoScenarioAri = class _RovoScenarioAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._activationId = opts.resourceIdSegmentValues.activationId, this._scenarioId = opts.resourceIdSegmentValues.scenarioId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get scenarioId() {
+    return this._scenarioId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: rovoScenarioAriStaticOpts.qualifier,
+      platformQualifier: rovoScenarioAriStaticOpts.platformQualifier,
+      cloudId: void 0,
+      resourceOwner: rovoScenarioAriStaticOpts.resourceOwner,
+      resourceType: rovoScenarioAriStaticOpts.resourceType,
+      resourceId: `activation/${opts.activationId}/${opts.scenarioId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        scenarioId: opts.scenarioId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, rovoScenarioAriStaticOpts);
+    return new _RovoScenarioAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, rovoScenarioAriStaticOpts);
+    return new _RovoScenarioAri(opts);
+  }
+  getVariables() {
+    return {
+      activationId: this.activationId,
+      scenarioId: this.scenarioId
+    };
+  }
+};
+
 // src/rovo/site/types.ts
 var RovoSiteAriResourceOwner = "rovo", RovoSiteAriResourceType = "site";
 
 // src/rovo/site/manifest.ts
 var rovoSiteAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: RovoSiteAriResourceOwner,
   resourceType: RovoSiteAriResourceType,
   resourceIdSlug: "{siteId}",
   resourceIdSegmentFormats: {
-    siteId: /[a-zA-Z0-9\-]+/
+    siteId: /[a-zA-Z0-9_\-.]{1,255}/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -324,8 +634,66 @@
       siteId: this.siteId
     };
   }
 };
+
+// src/rovo/workspace/types.ts
+var RovoWorkspaceAriResourceOwner = "rovo", RovoWorkspaceAriResourceType = "workspace";
+
+// src/rovo/workspace/manifest.ts
+var rovoWorkspaceAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: RovoWorkspaceAriResourceOwner,
+  resourceType: RovoWorkspaceAriResourceType,
+  resourceIdSlug: "{activationId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/rovo/workspace/index.ts
+var RovoWorkspaceAri = class _RovoWorkspaceAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._activationId = opts.resourceIdSegmentValues.activationId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: rovoWorkspaceAriStaticOpts.qualifier,
+      platformQualifier: rovoWorkspaceAriStaticOpts.platformQualifier,
+      cloudId: void 0,
+      resourceOwner: rovoWorkspaceAriStaticOpts.resourceOwner,
+      resourceType: rovoWorkspaceAriStaticOpts.resourceType,
+      resourceId: `${opts.activationId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, rovoWorkspaceAriStaticOpts);
+    return new _RovoWorkspaceAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, rovoWorkspaceAriStaticOpts);
+    return new _RovoWorkspaceAri(opts);
+  }
+  getVariables() {
+    return {
+      activationId: this.activationId
+    };
+  }
+};
 // Annotate the CommonJS export names for ESM import in node:
 0 && (module.exports = {
-  RovoSiteAri
+  RovoAgentAri,
+  RovoCustomActionAri,
+  RovoFileAri,
+  RovoMessageAri,
+  RovoScenarioAri,
+  RovoSiteAri,
+  RovoWorkspaceAri
 });