@adobe/ccweb-add-on-manifest 2.2.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -29,7 +29,7 @@ import { AddOnManifestRequirement } from "./manifest-field/AddOnManifestRequirem
29
29
  * More details on the schema and fields are present here:
30
30
  * https://wiki.corp.adobe.com/display/WXP/Add-in+Manifest+and+Structure
31
31
  */
32
- export declare type AddOnManifestV1 = {
32
+ export type AddOnManifestV1 = {
33
33
  readonly id: string;
34
34
  readonly name: string | LocalisedStrings;
35
35
  readonly version: string;
@@ -39,7 +39,7 @@ export declare type AddOnManifestV1 = {
39
39
  readonly entryPoints: readonly EntrypointV1[];
40
40
  readonly authorInfo?: AuthorInfo;
41
41
  };
42
- export declare type AddOnManifestV2 = {
42
+ export type AddOnManifestV2 = {
43
43
  readonly testId?: string;
44
44
  readonly name?: string;
45
45
  readonly version: string;
@@ -55,8 +55,8 @@ interface AddOnManifestTypeMap {
55
55
  [ManifestVersion.V1]: AddOnManifestV1;
56
56
  [ManifestVersion.V2]: AddOnManifestV2;
57
57
  }
58
- export declare type AddOnManifestType<T extends ManifestVersion> = AddOnManifestTypeMap[T];
59
- export declare type CreateManifestResult = {
58
+ export type AddOnManifestType<T extends ManifestVersion> = AddOnManifestTypeMap[T];
59
+ export type CreateManifestResult = {
60
60
  manifestValidationResult: ManifestValidationResult;
61
61
  manifest?: AddOnManifest;
62
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AddOnManifest.d.ts","sourceRoot":"","sources":["../src/AddOnManifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;kFAsBkF;AAElF,OAAO,EACH,SAAS,EACT,cAAc,EACd,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,cAAc,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAExF;;;;GAIG;AAGH,oBAAY,eAAe,GAAG;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,QAAQ,EAAE,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,SAAS,YAAY,EAAE,CAAC;IAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;CACpC,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,YAAY,EAAE,CAAC;CACjD,CAAC;AAEF,oBAAY,eAAe;IACvB,EAAE,IAAI;IACN,EAAE,IAAI;CACT;AAED,UAAU,oBAAoB;IAC1B,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC;IACtC,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC;CACzC;AAGD,oBAAY,iBAAiB,CAAC,CAAC,SAAS,eAAe,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAEnF,oBAAY,oBAAoB,GAAG;IAC/B,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IAErC,MAAM,CAAC,cAAc,CACjB,SAAS,EAAE,SAAS,EACpB,WAAW,CAAC,EAAE,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,GACjD,oBAAoB;IAoBvB;;OAEG;IACH,IAAI,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEhD;IAED,OAAO;IAaP,IAAI,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,CAUzB;IAED,IAAI,IAAI,IAAI,QAAQ,CAAC,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC,CAU1D;IAED,IAAI,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAE9B;IAED,IAAI,eAAe,IAAI,QAAQ,CAAC,eAAe,CAAC,CAE/C;IAED,IAAI,YAAY,IAAI,QAAQ,CAAC,wBAAwB,CAAC,CAQrD;IAED,IAAI,IAAI,IAAI,QAAQ,CAAC,QAAQ,GAAG,QAAQ,EAAE,GAAG,SAAS,CAAC,CAUtD;IAED,IAAI,WAAW,IAAI,QAAQ,CAAC,uBAAuB,EAAE,CAAC,CAOrD;IAED,IAAI,UAAU,IAAI,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC,CAUjD;CACJ"}
1
+ {"version":3,"file":"AddOnManifest.d.ts","sourceRoot":"","sources":["../src/AddOnManifest.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AddOnManifest.js","sourceRoot":"","sources":["../src/AddOnManifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AddOnManifest.js","sourceRoot":"","sources":["../src/AddOnManifest.ts"],"names":[],"mappings":"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","sourcesContent":["/********************************************************************************\n * MIT License\n\n * © Copyright 2023 Adobe. All rights reserved.\n\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n ********************************************************************************/\n\nimport {\n AddOnInfo,\n AddOnLogAction,\n AddOnLogLevel,\n AuthorInfo,\n EntrypointV1,\n EntrypointV2,\n IconType,\n LocalisedStrings,\n ManifestValidationResult,\n RequirementsV1,\n RequirementsV2\n} from \"./AddOnManifestTypes.js\";\nimport { AddOnManifestValidator } from \"./AddOnManifestValidator.js\";\nimport { AddOnManifestEntrypoint } from \"./manifest-field/AddOnManifestEntrypoint.js\";\nimport { AddOnManifestRequirement } from \"./manifest-field/AddOnManifestRequirement.js\";\n\n/**\n * Specifies the metadata and configuration information for Add-Ons\n * More details on the schema and fields are present here:\n * https://wiki.corp.adobe.com/display/WXP/Add-in+Manifest+and+Structure\n */\n\n// [WXP-680] TODO: Add docs for the Manifest schema\nexport type AddOnManifestV1 = {\n readonly id: string;\n readonly name: string | LocalisedStrings;\n readonly version: string;\n readonly manifestVersion: number;\n readonly requirements: RequirementsV1;\n readonly icon: IconType | readonly IconType[];\n readonly entryPoints: readonly EntrypointV1[];\n readonly authorInfo?: AuthorInfo;\n};\n\nexport type AddOnManifestV2 = {\n readonly testId?: string;\n readonly name?: string;\n readonly version: string;\n readonly manifestVersion: number;\n readonly requirements: RequirementsV2;\n readonly entryPoints: readonly EntrypointV2[];\n};\n\nexport enum ManifestVersion {\n V1 = 1,\n V2 = 2\n}\n\ninterface AddOnManifestTypeMap {\n [ManifestVersion.V1]: AddOnManifestV1;\n [ManifestVersion.V2]: AddOnManifestV2;\n}\ntype Manifest = AddOnManifestV1 | AddOnManifestV2;\n\nexport type AddOnManifestType<T extends ManifestVersion> = AddOnManifestTypeMap[T];\n\nexport type CreateManifestResult = {\n manifestValidationResult: ManifestValidationResult;\n manifest?: AddOnManifest;\n};\n\n/**\n * Defines the getter methods for AddOn manifest fields\n */\nexport class AddOnManifest {\n private _requirement: AddOnManifestRequirement | undefined;\n private _entrypoints: AddOnManifestEntrypoint[] = [];\n private readonly _manifest: Manifest;\n\n static createManifest(\n addOnInfo: AddOnInfo,\n addOnLogger?: Map<AddOnLogLevel, AddOnLogAction>\n ): CreateManifestResult {\n // validate the manifest here and if rejected return\n const manifestValidator = new AddOnManifestValidator(addOnLogger);\n const schemaValidation = manifestValidator.validateManifestSchema(addOnInfo.manifest, addOnInfo.additionalInfo);\n let manifestValidationResult: ManifestValidationResult = { success: true };\n if (!schemaValidation.success) {\n manifestValidationResult = {\n success: false,\n errorDetails: schemaValidation.errorDetails,\n warningDetails: schemaValidation.warningDetails\n };\n return { manifestValidationResult };\n }\n\n return {\n manifestValidationResult,\n manifest: new AddOnManifest({ ...addOnInfo.manifest })\n };\n }\n\n /**\n * TODO: [WXP-1583] Updated the response type in [AddOnInfoApi.manifest] and remove the getter\n */\n get manifestProperties(): Record<string, unknown> {\n return this._manifest;\n }\n\n private constructor(manifest: ReturnType<typeof JSON.parse>) {\n const manifestVersion = manifest.manifestVersion;\n switch (manifestVersion) {\n case ManifestVersion.V1: {\n this._manifest = manifest as AddOnManifestType<ManifestVersion.V1>;\n break;\n }\n default: {\n this._manifest = manifest as AddOnManifestType<ManifestVersion.V2>;\n }\n }\n }\n\n get id(): Readonly<string> {\n switch (this._manifest.manifestVersion) {\n case ManifestVersion.V1: {\n const { id } = this._manifest as AddOnManifestType<ManifestVersion.V1>;\n return id;\n }\n default: {\n return \"\";\n }\n }\n }\n\n get name(): Readonly<string | LocalisedStrings | undefined> {\n switch (this._manifest.manifestVersion) {\n case ManifestVersion.V1: {\n const { name } = this._manifest as AddOnManifestType<ManifestVersion.V1>;\n return name;\n }\n default: {\n return undefined;\n }\n }\n }\n\n get version(): Readonly<string> {\n return this._manifest.version;\n }\n\n get manifestVersion(): Readonly<ManifestVersion> {\n return this._manifest.manifestVersion || ManifestVersion.V1;\n }\n\n get requirements(): Readonly<AddOnManifestRequirement> {\n if (!this._requirement) {\n this._requirement = new AddOnManifestRequirement(\n this._manifest.manifestVersion,\n this._manifest.requirements\n );\n }\n return this._requirement;\n }\n\n get icon(): Readonly<IconType | IconType[] | undefined> {\n switch (this._manifest.manifestVersion) {\n case ManifestVersion.V1: {\n const { icon } = this._manifest as AddOnManifestType<ManifestVersion.V1>;\n return icon;\n }\n default: {\n return undefined;\n }\n }\n }\n\n get entryPoints(): Readonly<AddOnManifestEntrypoint[]> {\n if (!this._entrypoints.length) {\n this._manifest.entryPoints.forEach(entrypoint => {\n this._entrypoints.push(new AddOnManifestEntrypoint(this._manifest.manifestVersion, entrypoint));\n });\n }\n return this._entrypoints;\n }\n\n get authorInfo(): Readonly<AuthorInfo | undefined> {\n switch (this._manifest.manifestVersion) {\n case ManifestVersion.V1: {\n const { authorInfo } = this._manifest as AddOnManifestType<ManifestVersion.V1>;\n return authorInfo;\n }\n default: {\n return undefined;\n }\n }\n }\n}\n"]}
@@ -25,23 +25,24 @@
25
25
  * More details on the schema here and the fiels are present here:
26
26
  * https://wiki.corp.adobe.com/display/WXP/Add-in+Manifest+and+Structure
27
27
  */
28
- export declare type RequirementsV1 = {
28
+ export type RequirementsV1 = {
29
29
  readonly apps: string[];
30
30
  readonly experimentalApis?: boolean;
31
31
  };
32
- export declare type App = {
32
+ export type App = {
33
33
  readonly name: string;
34
34
  readonly apiVersion: number;
35
35
  readonly supportedDeviceClass?: string[];
36
36
  };
37
- export declare type TrustedPartnerApis = {
37
+ export type TrustedPartnerApis = {
38
38
  readonly messaging?: boolean;
39
39
  readonly expressPrint?: boolean;
40
40
  readonly addOnLifecycle?: boolean;
41
41
  readonly toastNotifications?: boolean;
42
42
  readonly tiktokcml?: boolean;
43
+ readonly formSubmission?: boolean;
43
44
  };
44
- export declare type RequirementsV2 = {
45
+ export type RequirementsV2 = {
45
46
  readonly apps: readonly App[];
46
47
  readonly experimentalApis?: boolean;
47
48
  readonly supportsTouch?: boolean;
@@ -50,7 +51,7 @@ export declare type RequirementsV2 = {
50
51
  readonly _blessedPartnerAccess?: string;
51
52
  readonly trustedPartnerApis?: TrustedPartnerApis;
52
53
  };
53
- export declare type IconType = {
54
+ export type IconType = {
54
55
  /** * icon width */
55
56
  readonly width?: number;
56
57
  /** * icon height */
@@ -60,33 +61,33 @@ export declare type IconType = {
60
61
  /** * icon theme ex. ["all","light"] */
61
62
  readonly theme?: readonly string[];
62
63
  };
63
- export declare type Size = {
64
+ export type Size = {
64
65
  readonly width: number;
65
66
  readonly height: number;
66
67
  };
67
- export declare type Resizing = {
68
+ export type Resizing = {
68
69
  readonly prefersConstrainedResize: boolean;
69
70
  readonly maxHeight?: number;
70
71
  readonly maxWidth?: number;
71
72
  readonly minHeight?: number;
72
73
  readonly minWidth?: number;
73
74
  };
74
- export declare type LocalisedStrings = {
75
+ export type LocalisedStrings = {
75
76
  readonly default: string;
76
77
  readonly [k: string]: string;
77
78
  };
78
- export declare type Position = {
79
+ export type Position = {
79
80
  readonly x: number;
80
81
  readonly y: number;
81
82
  };
82
- export declare type Permissions = {
83
+ export type Permissions = {
83
84
  readonly sandbox?: string[];
84
85
  readonly oauth?: string[];
85
86
  readonly camera?: string;
86
87
  readonly microphone?: string;
87
88
  readonly clipboard?: string[];
88
89
  };
89
- export declare type EntrypointV1 = {
90
+ export type EntrypointV1 = {
90
91
  readonly type: string;
91
92
  readonly id: string;
92
93
  readonly label: string | LocalisedStrings;
@@ -94,7 +95,7 @@ export declare type EntrypointV1 = {
94
95
  readonly defaultSize?: Size;
95
96
  readonly main: string;
96
97
  };
97
- export declare type EntrypointV2 = Omit<EntrypointV1, "label"> & {
98
+ export type EntrypointV2 = Omit<EntrypointV1, "label"> & {
98
99
  /**
99
100
  * @deprecated Use `documentSandbox` instead.
100
101
  */
@@ -103,8 +104,8 @@ export declare type EntrypointV2 = Omit<EntrypointV1, "label"> & {
103
104
  readonly discoverable?: boolean;
104
105
  readonly hostDomain?: string;
105
106
  };
106
- export declare type ManifestEntrypoint = EntrypointV1 | EntrypointV2;
107
- export declare type ManifestRequirements = RequirementsV1 | RequirementsV2;
107
+ export type ManifestEntrypoint = EntrypointV1 | EntrypointV2;
108
+ export type ManifestRequirements = RequirementsV1 | RequirementsV2;
108
109
  /**
109
110
  * Note: This enum expects values wrt manifest permission properties to support iframe allow permissions.
110
111
  */
@@ -118,9 +119,12 @@ export declare enum EntrypointType {
118
119
  COMMAND = "command",
119
120
  PANEL = "panel",
120
121
  SHARE = "share",
121
- CONTENT_HUB = "content-hub"
122
+ CONTENT_HUB = "content-hub",
123
+ MOBILE_MEDIA_AUDIO = "mobile.media.audio",
124
+ MOBILE_YOUR_STUFF_FILES = "mobile.your-stuff.files",
125
+ MOBILE_MORE = "mobile.more"
122
126
  }
123
- export declare type AuthorInfo = {
127
+ export type AuthorInfo = {
124
128
  /** Author name */
125
129
  readonly name: string;
126
130
  /** Author email address */
@@ -134,13 +138,13 @@ export declare type AuthorInfo = {
134
138
  * params: Params property is the object with the additional information about error
135
139
  * message: Error message for the failure
136
140
  */
137
- export declare type ManifestError = {
141
+ export type ManifestError = {
138
142
  instancePath?: string;
139
143
  keyword?: string;
140
144
  params?: unknown;
141
145
  message?: string;
142
146
  };
143
- declare type ManifestErrorType = {
147
+ type ManifestErrorType = {
144
148
  [key: string]: ManifestError;
145
149
  };
146
150
  /**
@@ -152,7 +156,7 @@ export declare const OTHER_MANIFEST_ERRORS: ManifestErrorType;
152
156
  * errorDetails: contains all error logs from validation
153
157
  * warningDetails: contains all warning logs from validation
154
158
  */
155
- export declare type ManifestValidationResult = {
159
+ export type ManifestValidationResult = {
156
160
  success: boolean;
157
161
  errorDetails?: ManifestError[];
158
162
  warningDetails?: ManifestError[];
@@ -175,7 +179,7 @@ export declare enum AddOnLogLevel {
175
179
  warning = "warning",
176
180
  error = "error"
177
181
  }
178
- export declare type AddOnLogAction = (...args: unknown[]) => unknown;
182
+ export type AddOnLogAction = (...args: unknown[]) => unknown;
179
183
  export declare function isIframeEntryPointType(entryPointType: EntrypointType): boolean;
180
184
  export {};
181
185
  //# sourceMappingURL=AddOnManifestTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddOnManifestTypes.d.ts","sourceRoot":"","sources":["../src/AddOnManifestTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AddOnManifestTypes.d.ts","sourceRoot":"","sources":["../src/AddOnManifestTypes.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,9 @@ export var EntrypointType;
37
37
  EntrypointType["PANEL"] = "panel";
38
38
  EntrypointType["SHARE"] = "share";
39
39
  EntrypointType["CONTENT_HUB"] = "content-hub";
40
+ EntrypointType["MOBILE_MEDIA_AUDIO"] = "mobile.media.audio";
41
+ EntrypointType["MOBILE_YOUR_STUFF_FILES"] = "mobile.your-stuff.files";
42
+ EntrypointType["MOBILE_MORE"] = "mobile.more";
40
43
  })(EntrypointType || (EntrypointType = {}));
41
44
  /**
42
45
  * Defines the Error Type other than avj libray validations for the Manifest
@@ -85,6 +88,10 @@ export const OTHER_MANIFEST_ERRORS = {
85
88
  RestrictedContentHubEntrypoint: {
86
89
  instancePath: "/entryPoints/type",
87
90
  message: "Entrypoint type 'content-hub' is allowed only for privileged add-ons"
91
+ },
92
+ RestrictedFormsSandboxProperty: {
93
+ instancePath: "/entryPoints/permissions/sandbox",
94
+ message: `Sandbox property "allow-forms" is not allowed for this AddOn`
88
95
  }
89
96
  };
90
97
  export var AddOnLogLevel;
@@ -94,9 +101,6 @@ export var AddOnLogLevel;
94
101
  AddOnLogLevel["error"] = "error";
95
102
  })(AddOnLogLevel || (AddOnLogLevel = {}));
96
103
  export function isIframeEntryPointType(entryPointType) {
97
- return (entryPointType === EntrypointType.PANEL ||
98
- entryPointType === EntrypointType.WIDGET ||
99
- entryPointType === EntrypointType.SHARE ||
100
- entryPointType === EntrypointType.CONTENT_HUB);
104
+ return entryPointType !== EntrypointType.COMMAND;
101
105
  }
102
106
  //# sourceMappingURL=AddOnManifestTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddOnManifestTypes.js","sourceRoot":"","sources":["../src/AddOnManifestTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;kFAsBkF;AAoGlF;;GAEG;AACH,MAAM,CAAN,IAAY,KAIX;AAJD,WAAY,KAAK;IACb,0BAAiB,CAAA;IACjB,kCAAyB,CAAA;IACzB,gCAAuB,CAAA;AAC3B,CAAC,EAJW,KAAK,KAAL,KAAK,QAIhB;AAED,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACtB,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,6CAA2B,CAAA;AAC/B,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB;AA4BD;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAsB;IACpD,mBAAmB,EAAE;QACjB,YAAY,EAAE,kBAAkB;QAChC,OAAO,EAAE,qCAAqC;KACjD;IACD,sBAAsB,EAAE;QACpB,YAAY,EAAE,kBAAkB;QAChC,OAAO,EAAE,0BAA0B;KACtC;IACD,eAAe,EAAE;QACb,YAAY,EAAE,cAAc;QAC5B,OAAO,EAAE,2CAA2C;KACvD;IACD,SAAS,EAAE;QACP,YAAY,EAAE,OAAO;QACrB,OAAO,EAAE,qCAAqC;KACjD;IACD,cAAc,EAAE;QACZ,YAAY,EAAE,SAAS;QACvB,OAAO,EAAE,6DAA6D;KACzE;IACD,0BAA0B,EAAE;QACxB,YAAY,EAAE,oCAAoC;QAClD,OAAO,EAAE,yDAAyD;KACrE;IACD,wBAAwB,EAAE;QACtB,YAAY,EAAE,8BAA8B;QAC5C,OAAO,EAAE,iDAAiD;KAC7D;IACD,gCAAgC,EAAE;QAC9B,YAAY,EAAE,gCAAgC;QAC9C,OAAO,EAAE,4DAA4D;KACxE;IACD,yBAAyB,EAAE;QACvB,YAAY,EAAE,8BAA8B;QAC5C,OAAO,EAAE,gFAAgF;KAC5F;IACD,iBAAiB,EAAE;QACf,YAAY,EAAE,yBAAyB;QACvC,OAAO,EAAE,kDAAkD;KAC9D;IACD,8BAA8B,EAAE;QAC5B,YAAY,EAAE,mBAAmB;QACjC,OAAO,EAAE,sEAAsE;KAClF;CACJ,CAAC;AA4BF,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,4CAA2B,CAAA;IAC3B,oCAAmB,CAAA;IACnB,gCAAe,CAAA;AACnB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAID,MAAM,UAAU,sBAAsB,CAAC,cAA8B;IACjE,OAAO,CACH,cAAc,KAAK,cAAc,CAAC,KAAK;QACvC,cAAc,KAAK,cAAc,CAAC,MAAM;QACxC,cAAc,KAAK,cAAc,CAAC,KAAK;QACvC,cAAc,KAAK,cAAc,CAAC,WAAW,CAChD,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"AddOnManifestTypes.js","sourceRoot":"","sources":["../src/AddOnManifestTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;kFAsBkF;AAqGlF;;GAEG;AACH,MAAM,CAAN,IAAY,KAIX;AAJD,WAAY,KAAK;IACb,0BAAiB,CAAA;IACjB,kCAAyB,CAAA;IACzB,gCAAuB,CAAA;AAC3B,CAAC,EAJW,KAAK,KAAL,KAAK,QAIhB;AAED,MAAM,CAAN,IAAY,cASX;AATD,WAAY,cAAc;IACtB,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,6CAA2B,CAAA;IAC3B,2DAAyC,CAAA;IACzC,qEAAmD,CAAA;IACnD,6CAA2B,CAAA;AAC/B,CAAC,EATW,cAAc,KAAd,cAAc,QASzB;AA4BD;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAsB;IACpD,mBAAmB,EAAE;QACjB,YAAY,EAAE,kBAAkB;QAChC,OAAO,EAAE,qCAAqC;KACjD;IACD,sBAAsB,EAAE;QACpB,YAAY,EAAE,kBAAkB;QAChC,OAAO,EAAE,0BAA0B;KACtC;IACD,eAAe,EAAE;QACb,YAAY,EAAE,cAAc;QAC5B,OAAO,EAAE,2CAA2C;KACvD;IACD,SAAS,EAAE;QACP,YAAY,EAAE,OAAO;QACrB,OAAO,EAAE,qCAAqC;KACjD;IACD,cAAc,EAAE;QACZ,YAAY,EAAE,SAAS;QACvB,OAAO,EAAE,6DAA6D;KACzE;IACD,0BAA0B,EAAE;QACxB,YAAY,EAAE,oCAAoC;QAClD,OAAO,EAAE,yDAAyD;KACrE;IACD,wBAAwB,EAAE;QACtB,YAAY,EAAE,8BAA8B;QAC5C,OAAO,EAAE,iDAAiD;KAC7D;IACD,gCAAgC,EAAE;QAC9B,YAAY,EAAE,gCAAgC;QAC9C,OAAO,EAAE,4DAA4D;KACxE;IACD,yBAAyB,EAAE;QACvB,YAAY,EAAE,8BAA8B;QAC5C,OAAO,EAAE,gFAAgF;KAC5F;IACD,iBAAiB,EAAE;QACf,YAAY,EAAE,yBAAyB;QACvC,OAAO,EAAE,kDAAkD;KAC9D;IACD,8BAA8B,EAAE;QAC5B,YAAY,EAAE,mBAAmB;QACjC,OAAO,EAAE,sEAAsE;KAClF;IACD,8BAA8B,EAAE;QAC5B,YAAY,EAAE,kCAAkC;QAChD,OAAO,EAAE,8DAA8D;KAC1E;CACJ,CAAC;AA4BF,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,4CAA2B,CAAA;IAC3B,oCAAmB,CAAA;IACnB,gCAAe,CAAA;AACnB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAID,MAAM,UAAU,sBAAsB,CAAC,cAA8B;IACjE,OAAO,cAAc,KAAK,cAAc,CAAC,OAAO,CAAC;AACrD,CAAC","sourcesContent":["/********************************************************************************\n * MIT License\n\n * © Copyright 2023 Adobe. All rights reserved.\n\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n ********************************************************************************/\n\n/**\n * More details on the schema here and the fiels are present here:\n * https://wiki.corp.adobe.com/display/WXP/Add-in+Manifest+and+Structure\n */\n\nexport type RequirementsV1 = {\n readonly apps: string[];\n readonly experimentalApis?: boolean;\n};\n\nexport type App = {\n readonly name: string;\n readonly apiVersion: number;\n readonly supportedDeviceClass?: string[];\n};\n\nexport type TrustedPartnerApis = {\n readonly messaging?: boolean;\n readonly expressPrint?: boolean;\n readonly addOnLifecycle?: boolean;\n readonly toastNotifications?: boolean;\n readonly tiktokcml?: boolean;\n readonly formSubmission?: boolean;\n};\n\nexport type RequirementsV2 = {\n readonly apps: readonly App[];\n readonly experimentalApis?: boolean;\n readonly supportsTouch?: boolean;\n readonly renditionPreview?: boolean;\n readonly privilegedApis?: boolean;\n readonly _blessedPartnerAccess?: string;\n readonly trustedPartnerApis?: TrustedPartnerApis;\n};\n\nexport type IconType = {\n /** * icon width */\n readonly width?: number;\n /** * icon height */\n readonly height?: number;\n /** * icon file href */\n readonly href: string;\n /** * icon theme ex. [\"all\",\"light\"] */\n readonly theme?: readonly string[];\n};\n\nexport type Size = {\n readonly width: number;\n readonly height: number;\n};\n\nexport type Resizing = {\n readonly prefersConstrainedResize: boolean;\n readonly maxHeight?: number;\n readonly maxWidth?: number;\n readonly minHeight?: number;\n readonly minWidth?: number;\n};\n\nexport type LocalisedStrings = {\n readonly default: string;\n readonly [k: string]: string;\n};\n\nexport type Position = {\n readonly x: number;\n readonly y: number;\n};\n\nexport type Permissions = {\n readonly sandbox?: string[];\n readonly oauth?: string[];\n readonly camera?: string;\n readonly microphone?: string;\n readonly clipboard?: string[];\n};\n\nexport type EntrypointV1 = {\n readonly type: string;\n readonly id: string;\n readonly label: string | LocalisedStrings;\n readonly permissions?: Permissions;\n readonly defaultSize?: Size;\n readonly main: string;\n};\n\nexport type EntrypointV2 = Omit<EntrypointV1, \"label\"> & {\n /**\n * @deprecated Use `documentSandbox` instead.\n */\n readonly script?: string;\n readonly documentSandbox?: string;\n readonly discoverable?: boolean;\n readonly hostDomain?: string;\n};\n\nexport type ManifestEntrypoint = EntrypointV1 | EntrypointV2;\nexport type ManifestRequirements = RequirementsV1 | RequirementsV2;\n\n/**\n * Note: This enum expects values wrt manifest permission properties to support iframe allow permissions.\n */\nexport enum Allow {\n camera = \"camera\",\n microphone = \"microphone\",\n clipboard = \"clipboard\"\n}\n\nexport enum EntrypointType {\n WIDGET = \"widget\",\n COMMAND = \"command\",\n PANEL = \"panel\",\n SHARE = \"share\",\n CONTENT_HUB = \"content-hub\",\n MOBILE_MEDIA_AUDIO = \"mobile.media.audio\",\n MOBILE_YOUR_STUFF_FILES = \"mobile.your-stuff.files\",\n MOBILE_MORE = \"mobile.more\"\n}\n\nexport type AuthorInfo = {\n /** Author name */\n readonly name: string;\n /** Author email address */\n readonly email: string;\n /** Author profile url */\n readonly url?: string;\n};\n\n/**\n * instancePath: JSON Pointer to the location in the data instance (e.g., `\"/prop/1/subProp\"`).\n * keyword: Validation keyword.\n * params: Params property is the object with the additional information about error\n * message: Error message for the failure\n */\nexport type ManifestError = {\n instancePath?: string;\n keyword?: string;\n params?: unknown;\n message?: string;\n};\n\ntype ManifestErrorType = {\n [key: string]: ManifestError;\n};\n\n/**\n * Defines the Error Type other than avj libray validations for the Manifest\n */\nexport const OTHER_MANIFEST_ERRORS: ManifestErrorType = {\n ManifestVersionType: {\n instancePath: \"/manifestVersion\",\n message: \"Manifest version should be a number\"\n },\n InvalidManifestVersion: {\n instancePath: \"/manifestVersion\",\n message: \"Invalid manifest version\"\n },\n EmptyEntrypoint: {\n instancePath: \"/entryPoints\",\n message: \"At least one entrypoint should be defined\"\n },\n EmptyIcon: {\n instancePath: \"/icon\",\n message: \"At least one icon should be defined\"\n },\n TestIdRequired: {\n instancePath: \"/testId\",\n message: \"testId should be defined in manifest for developer workflow\"\n },\n InvalidClipboardPermission: {\n instancePath: \"/entryPoints/permissions/clipboard\",\n message: \"Clipboard read permission is not allowed for this AddOn\"\n },\n RestrictedPrivilegedApis: {\n instancePath: \"/requirements/privilegedApis\",\n message: \"Privileged apis are not allowed for this add-on\"\n },\n AdditionPropertyExperimentalApis: {\n instancePath: \"/requirements/experimentalApis\",\n message: \"Experimental apis are not supported for production add-ons\"\n },\n DocumentSandboxWithScript: {\n instancePath: \"/entryPoints/documentSandbox\",\n message: \"Manifest entrypoint should have either 'documentSandbox' or 'script', not both\"\n },\n InvalidHostDomain: {\n instancePath: \"/entryPoints/hostDomain\",\n message: \"Manifest entrypoint should have valid hostDomain\"\n },\n RestrictedContentHubEntrypoint: {\n instancePath: \"/entryPoints/type\",\n message: \"Entrypoint type 'content-hub' is allowed only for privileged add-ons\"\n },\n RestrictedFormsSandboxProperty: {\n instancePath: \"/entryPoints/permissions/sandbox\",\n message: `Sandbox property \"allow-forms\" is not allowed for this AddOn`\n }\n};\n\n/**\n * success: check if AddOn has been registered successfully or not.\n * errorDetails: contains all error logs from validation\n * warningDetails: contains all warning logs from validation\n */\nexport type ManifestValidationResult = {\n success: boolean;\n errorDetails?: ManifestError[];\n warningDetails?: ManifestError[];\n};\n\nexport interface AdditionalAddOnInfo {\n sourceId: string;\n privileged: boolean;\n isDeveloperAddOn: boolean;\n id?: string;\n name?: string;\n icon?: IconType[];\n visibility?: string;\n}\n\nexport interface AddOnInfo {\n manifest: ReturnType<typeof JSON.parse>;\n additionalInfo: AdditionalAddOnInfo;\n}\n\nexport enum AddOnLogLevel {\n information = \"information\",\n warning = \"warning\",\n error = \"error\"\n}\n\nexport type AddOnLogAction = (...args: unknown[]) => unknown;\n\nexport function isIframeEntryPointType(entryPointType: EntrypointType): boolean {\n return entryPointType !== EntrypointType.COMMAND;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AddOnManifestValidator.d.ts","sourceRoot":"","sources":["../src/AddOnManifestValidator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;kFAsBkF;AAIlF,OAAO,EACH,cAAc,EACd,aAAa,EACb,mBAAmB,EAEnB,wBAAwB,EAK3B,MAAM,yBAAyB,CAAC;AAOjC,qBAAa,sBAAsB;IAKnB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAJ1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,gBAAgB,CAAU;gBAEL,YAAY,CAAC,gDAAoC;IAa9E,OAAO,CAAC,4BAA4B;IAoDpC,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,qCAAqC;IAqC7C,uBAAuB,CACnB,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,EACvC,cAAc,EAAE,mBAAmB,GACpC,wBAAwB;IAmB3B,OAAO,CAAC,4BAA4B;IAiCpC,OAAO,CAAC,eAAe;IAqBvB,sBAAsB,CAClB,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,EACvC,cAAc,EAAE,mBAAmB,GACpC,wBAAwB;CAkB9B"}
1
+ {"version":3,"file":"AddOnManifestValidator.d.ts","sourceRoot":"","sources":["../src/AddOnManifestValidator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;kFAsBkF;AAIlF,OAAO,EACH,cAAc,EACd,aAAa,EACb,mBAAmB,EAEnB,wBAAwB,EAK3B,MAAM,yBAAyB,CAAC;AAOjC,qBAAa,sBAAsB;IAKnB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAJ1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,gBAAgB,CAAU;gBAEL,YAAY,CAAC,gDAAoC;IAa9E,OAAO,CAAC,4BAA4B;IA+DpC,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,qCAAqC;IAqC7C,uBAAuB,CACnB,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,EACvC,cAAc,EAAE,mBAAmB,GACpC,wBAAwB;IAmB3B,OAAO,CAAC,4BAA4B;IAiCpC,OAAO,CAAC,eAAe;IAqBvB,sBAAsB,CAClB,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,EACvC,cAAc,EAAE,mBAAmB,GACpC,wBAAwB;CAkB9B"}
@@ -73,6 +73,14 @@ export class AddOnManifestValidator {
73
73
  validationErrors.push(OTHER_MANIFEST_ERRORS.InvalidClipboardPermission);
74
74
  isValidSchema = false;
75
75
  }
76
+ if (!manifest.requirements?.trustedPartnerApis?.formSubmission) {
77
+ const allowsForms = entrypoint.permissions?.sandbox?.find(s => s === "allow-forms") !== undefined;
78
+ if (allowsForms) {
79
+ this._logError("allow-forms permission is not allowed for the Add-on entrypoint: ", entrypoint.id);
80
+ validationErrors.push(OTHER_MANIFEST_ERRORS.RestrictedFormsSandboxProperty);
81
+ isValidSchema = false;
82
+ }
83
+ }
76
84
  });
77
85
  }
78
86
  if (this._manifestVersion > ManifestVersion.V1) {
@@ -1 +1 @@
1
- {"version":3,"file":"AddOnManifestValidator.js","sourceRoot":"","sources":["../src/AddOnManifestValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AddOnManifestValidator.js","sourceRoot":"","sources":["../src/AddOnManifestValidator.ts"],"names":[],"mappings":"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","sourcesContent":["/********************************************************************************\n * MIT License\n\n * © Copyright 2023 Adobe. All rights reserved.\n\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n ********************************************************************************/\n\nimport type { ValidateFunction } from \"ajv\";\nimport { ManifestVersion } from \"./AddOnManifest.js\";\nimport {\n AddOnLogAction,\n AddOnLogLevel,\n AdditionalAddOnInfo,\n ManifestError,\n ManifestValidationResult,\n OTHER_MANIFEST_ERRORS,\n ManifestEntrypoint,\n EntrypointV2,\n EntrypointType\n} from \"./AddOnManifestTypes.js\";\nimport { developerVersionValidation, getManifestVersion, getValidationErrors } from \"./ValidationUtils.js\";\nimport { validateSchemaV1, validateSchemaV2 } from \"./generated/validateManifestSchema.mjs\";\n\n// Add schema validators to the following list ordered by version numbers\nconst validatorVersions = [validateSchemaV1, validateSchemaV2];\n\nexport class AddOnManifestValidator {\n private readonly _logError: AddOnLogAction;\n private readonly _logWarn: AddOnLogAction;\n private _manifestVersion!: number;\n\n constructor(private readonly _addOnLogger?: Map<AddOnLogLevel, AddOnLogAction>) {\n this._logError =\n this._addOnLogger?.get(AddOnLogLevel.error) ??\n (() => {\n return;\n });\n this._logWarn =\n this._addOnLogger?.get(AddOnLogLevel.warning) ??\n (() => {\n return;\n });\n }\n\n private _commonAdditionalValidations(\n manifest: ReturnType<typeof JSON.parse>,\n additionalInfo: AdditionalAddOnInfo\n ): ManifestValidationResult {\n let isValidSchema = true;\n const validationErrors: ManifestError[] = [];\n if (!manifest.entryPoints?.length) {\n this._logError(\"At least one entrypoint should be defined\");\n isValidSchema = false;\n validationErrors.push(OTHER_MANIFEST_ERRORS.EmptyEntrypoint);\n }\n\n manifest.entryPoints?.forEach((entryPoint: ManifestEntrypoint) => {\n if (entryPoint.type === EntrypointType.CONTENT_HUB && !manifest.requirements?.privilegedApis) {\n this._logError(\"Entrypoint type 'content-hub' is allowed only for privileged add-ons\");\n isValidSchema = false;\n validationErrors.push(OTHER_MANIFEST_ERRORS.RestrictedContentHubEntrypoint);\n }\n });\n\n if (!additionalInfo.privileged) {\n if (manifest.requirements?.privilegedApis) {\n this._logError(\"Privileged apis are not allowed for this add-on\");\n isValidSchema = false;\n validationErrors.push(OTHER_MANIFEST_ERRORS.RestrictedPrivilegedApis);\n }\n manifest.entryPoints?.forEach((entrypoint: ManifestEntrypoint) => {\n const canReadClipboard =\n entrypoint.permissions?.clipboard?.find(c => c === \"clipboard-read\") !== undefined;\n if (canReadClipboard) {\n this._logError(\n \"Clipboard-read permission is not allowed for the Add-on entrypoint: \",\n entrypoint.id\n );\n validationErrors.push(OTHER_MANIFEST_ERRORS.InvalidClipboardPermission);\n isValidSchema = false;\n }\n if (!manifest.requirements?.trustedPartnerApis?.formSubmission) {\n const allowsForms = entrypoint.permissions?.sandbox?.find(s => s === \"allow-forms\") !== undefined;\n if (allowsForms) {\n this._logError(\n \"allow-forms permission is not allowed for the Add-on entrypoint: \",\n entrypoint.id\n );\n validationErrors.push(OTHER_MANIFEST_ERRORS.RestrictedFormsSandboxProperty);\n isValidSchema = false;\n }\n }\n });\n }\n if (this._manifestVersion > ManifestVersion.V1) {\n const entryPointsValidation = this._isValidEntryPoint(manifest);\n if (!entryPointsValidation.success) {\n isValidSchema = false;\n validationErrors.push(...entryPointsValidation.errorDetails!);\n }\n }\n return {\n success: isValidSchema,\n errorDetails: validationErrors\n };\n }\n\n private _isValidEntryPoint(manifest: ReturnType<typeof JSON.parse>): ManifestValidationResult {\n let isValidSchema = true;\n const validationErrors: ManifestError[] = [];\n manifest.entryPoints?.forEach((entrypoint: EntrypointV2) => {\n if (entrypoint.documentSandbox && entrypoint.script) {\n this._logError(\n `Manifest entrypoint '${entrypoint.id}' should have either 'documentSandbox' or 'script', not both`\n );\n validationErrors.push(OTHER_MANIFEST_ERRORS.DocumentSandboxWithScript);\n isValidSchema = false;\n }\n if (\n entrypoint.hostDomain !== undefined &&\n !entrypoint.hostDomain.match(new RegExp(\"https://[a-zA-Z0-9-.]{3,}.[a-zA-Z]{2,}(.[a-zA-Z]{2,})?\"))\n ) {\n this._logError(`Manifest entrypoint '${entrypoint.id}' should have valid host domain`);\n validationErrors.push(OTHER_MANIFEST_ERRORS.InvalidHostDomain);\n isValidSchema = false;\n }\n });\n return {\n success: isValidSchema,\n errorDetails: validationErrors\n };\n }\n\n private _verifyAdditionalDeveloperValidations(\n manifest: ReturnType<typeof JSON.parse>,\n additionalInfo: AdditionalAddOnInfo\n ): Required<ManifestValidationResult> {\n const manifestVersion = manifest.manifestVersion || ManifestVersion.V1;\n let isValidSchema = true;\n const validationErrors: ManifestError[] = [];\n const validationWarnings: ManifestError[] = [];\n const commonValidations = this._commonAdditionalValidations(manifest, additionalInfo);\n if (!commonValidations.success) {\n isValidSchema = false;\n validationErrors.push(...commonValidations.errorDetails!);\n }\n\n switch (manifestVersion) {\n case ManifestVersion.V1: {\n if (Array.isArray(manifest?.icon) && !manifest.icon?.length) {\n this._logWarn(\"At least one icon should be defined\");\n validationWarnings.push(OTHER_MANIFEST_ERRORS.EmptyIcon);\n }\n break;\n }\n default: {\n if (!manifest.testId) {\n this._logError(\"testId should be defined in manifest for developer workflow\");\n isValidSchema = false;\n validationErrors.push(OTHER_MANIFEST_ERRORS.TestIdRequired);\n }\n }\n }\n return {\n success: isValidSchema,\n errorDetails: validationErrors,\n warningDetails: validationWarnings\n };\n }\n\n validateDeveloperSchema(\n manifest: ReturnType<typeof JSON.parse>,\n additionalInfo: AdditionalAddOnInfo\n ): ManifestValidationResult {\n const validationErrors: ManifestError[] = [];\n const validationWarnings: ManifestError[] = [];\n const schemaValidation = developerVersionValidation(manifest, this._addOnLogger);\n if (!schemaValidation.success) {\n this._logError(`Errors in Manifest.json to fix before submission: ${schemaValidation.errorDetails}`);\n validationErrors.push(...schemaValidation.errorDetails!);\n }\n const additionValidations = this._verifyAdditionalDeveloperValidations(manifest, additionalInfo);\n validationWarnings.push(...additionValidations.warningDetails);\n validationErrors.push(...additionValidations.errorDetails);\n const success = schemaValidation.success && additionValidations.success;\n return {\n success,\n warningDetails: validationWarnings.length ? validationWarnings : undefined,\n errorDetails: success ? undefined : validationErrors\n };\n }\n\n private _verifyAdditionalValidations(\n manifest: ReturnType<typeof JSON.parse>,\n additionalInfo: AdditionalAddOnInfo\n ): ManifestValidationResult {\n let isValidSchema = true;\n const validationErrors: ManifestError[] = [];\n if (manifest.requirements.experimentalApis && !additionalInfo.isDeveloperAddOn) {\n this._logError(\"Experimental apis are not supported for production add-ons\");\n validationErrors.push(OTHER_MANIFEST_ERRORS.AdditionPropertyExperimentalApis);\n isValidSchema = false;\n }\n const commonValidations = this._commonAdditionalValidations(manifest, additionalInfo);\n if (!commonValidations.success) {\n isValidSchema = false;\n validationErrors.push(...commonValidations.errorDetails!);\n }\n\n switch (this._manifestVersion) {\n case ManifestVersion.V1: {\n if (Array.isArray(manifest?.icon) && !manifest.icon?.length) {\n this._logError(\"At least one icon should be defined\");\n validationErrors.push(OTHER_MANIFEST_ERRORS.EmptyIcon);\n isValidSchema = false;\n }\n break;\n }\n }\n return {\n success: isValidSchema,\n errorDetails: validationErrors\n };\n }\n\n private _validateSchema(\n manifest: ReturnType<typeof JSON.parse>,\n additionalInfo: AdditionalAddOnInfo\n ): ManifestValidationResult {\n const schemaValidator = validatorVersions[this._manifestVersion - 1];\n let isValidSchema = true;\n let validationErrors: ManifestError[] = [];\n if (!schemaValidator(manifest)) {\n const manifestErrors = (schemaValidator as ValidateFunction).errors;\n this._logError(`Errors in Manifest.json to fix before submission: ${manifestErrors}`);\n validationErrors = getValidationErrors(manifestErrors);\n isValidSchema = false;\n }\n const additionalValidations = this._verifyAdditionalValidations(manifest, additionalInfo);\n if (!additionalValidations.success) {\n validationErrors.push(...additionalValidations.errorDetails!);\n }\n const success = isValidSchema && additionalValidations.success;\n return { success, errorDetails: success ? undefined : validationErrors };\n }\n\n validateManifestSchema(\n manifest: ReturnType<typeof JSON.parse>,\n additionalInfo: AdditionalAddOnInfo\n ): ManifestValidationResult {\n if (!manifest) {\n return { success: false };\n }\n this._manifestVersion = getManifestVersion(manifest, additionalInfo.isDeveloperAddOn);\n if (isNaN(this._manifestVersion)) {\n this._logError(\"Manifest version should be a number\");\n return { success: false, errorDetails: [OTHER_MANIFEST_ERRORS.ManifestVersionType] };\n }\n if (this._manifestVersion <= 0) {\n this._logError(`Incorrect manifest version : ${this._manifestVersion}`);\n return { success: false, errorDetails: [OTHER_MANIFEST_ERRORS.InvalidManifestVersion] };\n }\n if (additionalInfo.isDeveloperAddOn) {\n return this.validateDeveloperSchema(manifest, additionalInfo);\n }\n return this._validateSchema(manifest, additionalInfo);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationUtils.js","sourceRoot":"","sources":["../src/ValidationUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;kFAsBkF;AAGlF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAkB,aAAa,EAA2C,MAAM,yBAAyB,CAAC;AACjH,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAErG,yEAAyE;AACzE,MAAM,0BAA0B,GAAG,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,CAAC;AAEjF,SAAS,SAAS,CACd,cAAuB,EACvB,WAA2D;IAE3D,MAAM,cAAc,GAAI,cAAmC,CAAC,MAAM,CAAC;IACnE,MAAM,QAAQ,GAAG,WAAW,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,QAAQ,KAAK,SAAS,EAAE;QACxB,QAAQ,CAAC,cAAc,CAAC,CAAC;KAC5B;IACD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAC7D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,0BAA0B,CACtC,QAAuC,EACvC,WAA2D;IAE3D,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,IAAI,eAAe,CAAC,EAAE,CAAC;IACvE,MAAM,eAAe,GAAG,0BAA0B,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;QAC5B,OAAO,SAAS,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;KAClD;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,gBAAkD;IAClF,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE;QAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5G,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAuC,EAAE,gBAAyB;IACjG,IAAI,gBAAgB,EAAE;QAClB,OAAO,QAAQ,CAAC,eAAe,IAAI,eAAe,CAAC,EAAE,CAAC;KACzD;IACD,OAAO,QAAQ,CAAC,eAAe,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"ValidationUtils.js","sourceRoot":"","sources":["../src/ValidationUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;kFAsBkF;AAGlF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAkB,aAAa,EAA2C,MAAM,yBAAyB,CAAC;AACjH,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAErG,yEAAyE;AACzE,MAAM,0BAA0B,GAAG,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,CAAC;AAEjF,SAAS,SAAS,CACd,cAAuB,EACvB,WAA2D;IAE3D,MAAM,cAAc,GAAI,cAAmC,CAAC,MAAM,CAAC;IACnE,MAAM,QAAQ,GAAG,WAAW,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAC7D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,0BAA0B,CACtC,QAAuC,EACvC,WAA2D;IAE3D,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,IAAI,eAAe,CAAC,EAAE,CAAC;IACvE,MAAM,eAAe,GAAG,0BAA0B,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,gBAAkD;IAClF,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE;QAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5G,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAuC,EAAE,gBAAyB;IACjG,IAAI,gBAAgB,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC,eAAe,IAAI,eAAe,CAAC,EAAE,CAAC;IAC1D,CAAC;IACD,OAAO,QAAQ,CAAC,eAAe,CAAC;AACpC,CAAC","sourcesContent":["/********************************************************************************\n * MIT License\n\n * © Copyright 2023 Adobe. All rights reserved.\n\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n ********************************************************************************/\n\nimport type { ErrorObject, ValidateFunction } from \"ajv\";\nimport { ManifestVersion } from \"./AddOnManifest.js\";\nimport { AddOnLogAction, AddOnLogLevel, ManifestError, ManifestValidationResult } from \"./AddOnManifestTypes.js\";\nimport { validateSchemaDeveloperV1, validateSchemaV2 } from \"./generated/validateManifestSchema.mjs\";\n\n// Add schema validators to the following list ordered by version numbers\nconst developerValidatorVersions = [validateSchemaDeveloperV1, validateSchemaV2];\n\nfunction getErrors(\n validateSchema: unknown,\n addOnLogger: Map<AddOnLogLevel, AddOnLogAction> | undefined\n): ManifestValidationResult {\n const manifestErrors = (validateSchema as ValidateFunction).errors;\n const logError = addOnLogger?.get(AddOnLogLevel.error);\n if (logError !== undefined) {\n logError(manifestErrors);\n }\n const validationErrors = getValidationErrors(manifestErrors);\n return { success: false, errorDetails: validationErrors };\n}\n\nexport function developerVersionValidation(\n manifest: ReturnType<typeof JSON.parse>,\n addOnLogger: Map<AddOnLogLevel, AddOnLogAction> | undefined\n): ManifestValidationResult {\n const manifestVersion = manifest.manifestVersion || ManifestVersion.V1;\n const schemaValidator = developerValidatorVersions[manifestVersion - 1];\n if (!schemaValidator(manifest)) {\n return getErrors(schemaValidator, addOnLogger);\n }\n return { success: true };\n}\n\nexport function getValidationErrors(validationErrors: ErrorObject[] | undefined | null): ManifestError[] {\n const errors: ManifestError[] = [];\n validationErrors?.forEach(i => {\n errors.push({ instancePath: i.instancePath, keyword: i.keyword, params: i.params, message: i.message });\n });\n return errors;\n}\n\nexport function getManifestVersion(manifest: ReturnType<typeof JSON.parse>, isDeveloperAddOn: boolean): number {\n if (isDeveloperAddOn) {\n return manifest.manifestVersion ?? ManifestVersion.V1;\n }\n return manifest.manifestVersion;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"validateManifestSchema.d.mts","sourceRoot":"","sources":["../../src/generated/validateManifestSchema.mjs"],"names":[],"mappings":"AAAgvF;;;;;YAAswgC;AAAq6E;;;;;YAAq0/B;AAAmhF;;;;;YAA0q0B"}
1
+ {"version":3,"file":"validateManifestSchema.d.mts","sourceRoot":"","sources":["../../src/generated/validateManifestSchema.mjs"],"names":[],"mappings":"AAAs3F;;;;;YAA44gC;AAAw+E;;;;;YAA28/B;AAA8qF;;;;;YAAi11B"}