@forge/manifest 12.6.0-next.3 → 12.7.0-next.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # @forge/manifest
2
2
 
3
+ ## 12.7.0-next.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 56e38e9: Added support for new v2 url format and validation
8
+
9
+ ### Patch Changes
10
+
11
+ - a99c9f1: Add customerServiceManagement:queuePage and customerServiceManagement:requestDetail to AllModuleTypes enum, add corresponding CLI templates (UI Kit + Custom UI) for both module types, and register Customer Service Management as a product context in forge create (shown as "Customer Service Management (EAP)").
12
+ - aed9912: Update manifest definitions
13
+
14
+ ## 12.6.0
15
+
16
+ ### Minor Changes
17
+
18
+ - 399ae7d: Enforce render:native for global:ui
19
+ Remove routePrefix from global:ui
20
+ - 955c1ab: Add agent product context scope validation for rovo:agentConnector modules
21
+
22
+ ### Patch Changes
23
+
24
+ - 8b7704f: Added validation that apps using the global:ui module must set app.installationTarget to 'unit'
25
+ - 4964a50: Fetch Agent Product Context to Required Scope Mapping file from Shipyard in daily job
26
+ - 911bef1: Remove compatible modules and module count limitations for jira:actionValidator
27
+ - 53b24df: Update manifest definitions
28
+ - 36fbb18: Update manifest definitions
29
+ - 3b625c7: Warn when `app.connect.key` and `remotes` are set but `app.connect.remote` is missing (data residency safeguard).
30
+
3
31
  ## 12.6.0-next.3
4
32
 
5
33
  ### Patch Changes
@@ -1,6 +1,11 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "definitions": {
4
+ "WebTriggerUrlFormatSchema": {
5
+ "type": "string",
6
+ "enum": ["v1", "v2"],
7
+ "description": "The URL format to use for this webtrigger. 'v1' uses the legacy app-based URL format, 'v2' uses the new installation-based URL format with a unique domain per installation."
8
+ },
4
9
  "AppSchema": {
5
10
  "additionalProperties": false,
6
11
  "properties": {
@@ -485,9 +490,17 @@
485
490
  "items": {
486
491
  "$schema": "http://json-schema.org/draft-07/schema#",
487
492
  "additionalProperties": true,
493
+ "properties": {
494
+ "urlFormat": {
495
+ "$ref": "#/definitions/WebTriggerUrlFormatSchema"
496
+ }
497
+ },
488
498
  "oneOf": [
489
499
  {
490
500
  "properties": {
501
+ "urlFormat": {
502
+ "$ref": "#/definitions/WebTriggerUrlFormatSchema"
503
+ },
491
504
  "function": {
492
505
  "$ref": "#/definitions/ExtensionKey",
493
506
  "description": "The key of the function that should be invoked for this webtrigger.",
@@ -515,6 +528,9 @@
515
528
  },
516
529
  {
517
530
  "properties": {
531
+ "urlFormat": {
532
+ "$ref": "#/definitions/WebTriggerUrlFormatSchema"
533
+ },
518
534
  "endpoint": {
519
535
  "$ref": "#/definitions/ExtensionKey",
520
536
  "description": "The key of the service that should be invoked for this webtrigger."
@@ -108,6 +108,10 @@ export type Filter2 =
108
108
  | {
109
109
  [k: string]: unknown;
110
110
  };
111
+ /**
112
+ * The URL format to use for this webtrigger. 'v1' uses the legacy app-based URL format, 'v2' uses the new installation-based URL format with a unique domain per installation.
113
+ */
114
+ export type WebTriggerUrlFormatSchema = 'v1' | 'v2';
111
115
  /**
112
116
  * The key of the function that should be invoked for this webtrigger.
113
117
  */
@@ -1048,12 +1052,14 @@ export interface Modules {
1048
1052
  webtrigger?: [
1049
1053
  (
1050
1054
  | {
1055
+ urlFormat?: WebTriggerUrlFormatSchema;
1051
1056
  function: Function1;
1052
1057
  response?: Response;
1053
1058
  key: ModuleKeySchema;
1054
1059
  [k: string]: unknown;
1055
1060
  }
1056
1061
  | {
1062
+ urlFormat?: WebTriggerUrlFormatSchema;
1057
1063
  endpoint: ExtensionKey;
1058
1064
  response?: ResponseOptions;
1059
1065
  key: ModuleKeySchema;
@@ -1062,12 +1068,14 @@ export interface Modules {
1062
1068
  ),
1063
1069
  ...(
1064
1070
  | {
1071
+ urlFormat?: WebTriggerUrlFormatSchema;
1065
1072
  function: Function1;
1066
1073
  response?: Response;
1067
1074
  key: ModuleKeySchema;
1068
1075
  [k: string]: unknown;
1069
1076
  }
1070
1077
  | {
1078
+ urlFormat?: WebTriggerUrlFormatSchema;
1071
1079
  endpoint: ExtensionKey;
1072
1080
  response?: ResponseOptions;
1073
1081
  key: ModuleKeySchema;
@@ -83,6 +83,8 @@ export declare enum AllModuleTypes {
83
83
  JiraServiceManagementPortalRequestViewAction = "jiraServiceManagement:portalRequestViewAction",
84
84
  JiraServiceManagementPortalUserMenuAction = "jiraServiceManagement:portalUserMenuAction",
85
85
  JiraServiceManagementPortalRequestCreatePropertyPanel = "jiraServiceManagement:portalRequestCreatePropertyPanel",
86
+ CustomerServiceManagementQueuePage = "customerServiceManagement:queuePage",
87
+ CustomerServiceManagementRequestDetail = "customerServiceManagement:requestDetail",
86
88
  BitbucketRepoCodeFileViewer = "bitbucket:repoCodeFileViewer",
87
89
  BitbucketRepoCodeOverviewCard = "bitbucket:repoCodeOverviewCard",
88
90
  BitbucketRepoCodeOverviewAction = "bitbucket:repoCodeOverviewAction",
@@ -1 +1 @@
1
- {"version":3,"file":"module-types.d.ts","sourceRoot":"","sources":["../../src/types/module-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-types.d.ts","sourceRoot":"","sources":["../../src/types/module-types.ts"],"names":[],"mappings":"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"}
@@ -87,6 +87,8 @@ var AllModuleTypes;
87
87
  AllModuleTypes["JiraServiceManagementPortalRequestViewAction"] = "jiraServiceManagement:portalRequestViewAction";
88
88
  AllModuleTypes["JiraServiceManagementPortalUserMenuAction"] = "jiraServiceManagement:portalUserMenuAction";
89
89
  AllModuleTypes["JiraServiceManagementPortalRequestCreatePropertyPanel"] = "jiraServiceManagement:portalRequestCreatePropertyPanel";
90
+ AllModuleTypes["CustomerServiceManagementQueuePage"] = "customerServiceManagement:queuePage";
91
+ AllModuleTypes["CustomerServiceManagementRequestDetail"] = "customerServiceManagement:requestDetail";
90
92
  AllModuleTypes["BitbucketRepoCodeFileViewer"] = "bitbucket:repoCodeFileViewer";
91
93
  AllModuleTypes["BitbucketRepoCodeOverviewCard"] = "bitbucket:repoCodeOverviewCard";
92
94
  AllModuleTypes["BitbucketRepoCodeOverviewAction"] = "bitbucket:repoCodeOverviewAction";
@@ -1 +1 @@
1
- {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../src/validators/schema-validator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAA0C,MAAM,UAAU,CAAC;AAG5G,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC;IAGjF,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmB;gBAErB,MAAM,EAAE,MAAM;IAS3C,OAAO,CAAC,mBAAmB,CAoCzB;IAEF,OAAO,CAAC,iBAAiB,CAyBvB;IAEF,OAAO,CAAC,kBAAkB,CAyBxB;IAEF,OAAO,CAAC,iBAAiB,CAKvB;IAEF,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,qBAAqB,CAa3B;IAEF,OAAO,CAAC,WAAW,CAejB;IAEI,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;CAkD9F"}
1
+ {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../src/validators/schema-validator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAA0C,MAAM,UAAU,CAAC;AAG5G,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC;IAGjF,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmB;gBAErB,MAAM,EAAE,MAAM;IAS3C,OAAO,CAAC,mBAAmB,CA0DzB;IAEF,OAAO,CAAC,iBAAiB,CA0BvB;IAEF,OAAO,CAAC,kBAAkB,CA0BxB;IAEF,OAAO,CAAC,iBAAiB,CAKvB;IAEF,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,qBAAqB,CAa3B;IAEF,OAAO,CAAC,WAAW,CAgBjB;IAEI,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;CAmD9F"}
@@ -16,7 +16,7 @@ class SchemaValidator {
16
16
  ajv.addVocabulary(['defaultValue', 'fieldDescription', 'fieldTitle', 'shortClassName']);
17
17
  this.validateSchema = ajv.compile(this.schema);
18
18
  }
19
- processErrorMessage = (error) => {
19
+ processErrorMessage = (error, allErrors) => {
20
20
  if (error.keyword === 'if' && ['then', 'else'].some((keyword) => keyword === error.params.failingKeyword)) {
21
21
  return undefined;
22
22
  }
@@ -30,6 +30,18 @@ class SchemaValidator {
30
30
  return text_1.errors.schema.enumValues(error.params.allowedValues);
31
31
  }
32
32
  if (error.keyword === 'oneOf') {
33
+ if (!error.params.passingSchemas && allErrors) {
34
+ const oneOfBranches = error.schema ?? [];
35
+ const childEnumErrors = allErrors.filter((e) => e !== error && e.keyword === 'enum' && e.instancePath.startsWith(error.instancePath + '/'));
36
+ const allEnumPropertiesInAllBranches = childEnumErrors.every((enumError) => {
37
+ const propertyName = enumError.instancePath.split('/').pop();
38
+ return (propertyName !== undefined &&
39
+ oneOfBranches.every((branch) => branch?.properties && propertyName in branch.properties));
40
+ });
41
+ if (childEnumErrors.length > 0 && allEnumPropertiesInAllBranches) {
42
+ return undefined;
43
+ }
44
+ }
33
45
  if (error.params.passingSchemas) {
34
46
  const requiredProps = error.params.passingSchemas.map((v) => error.schema[v].required);
35
47
  return text_1.errors.schema.oneOf(requiredProps);
@@ -47,10 +59,10 @@ class SchemaValidator {
47
59
  }
48
60
  return error.message;
49
61
  };
50
- handleModuleError = (path, error, manifest) => {
62
+ handleModuleError = (path, error, manifest, allErrors) => {
51
63
  const hasProperty = path.length > 1;
52
64
  const propertyName = path[path.length - 1];
53
- const errorMessage = this.processErrorMessage(error);
65
+ const errorMessage = this.processErrorMessage(error, allErrors);
54
66
  if (!errorMessage) {
55
67
  return undefined;
56
68
  }
@@ -66,10 +78,10 @@ class SchemaValidator {
66
78
  ...(0, utils_1.findPosition)(searchString, manifest.yamlContentByLine)
67
79
  };
68
80
  };
69
- handleGenericError = (path, error, manifest) => {
81
+ handleGenericError = (path, error, manifest, allErrors) => {
70
82
  const hasProperty = path.length > 1;
71
83
  const propertyName = path[path.length - 1];
72
- const errorMessage = this.processErrorMessage(error);
84
+ const errorMessage = this.processErrorMessage(error, allErrors);
73
85
  if (!errorMessage) {
74
86
  return undefined;
75
87
  }
@@ -110,16 +122,16 @@ class SchemaValidator {
110
122
  ...(0, utils_1.findPosition)(`${section}:`, manifest.yamlContentByLine)
111
123
  };
112
124
  };
113
- handleError = (path, error, manifest) => {
125
+ handleError = (path, error, manifest, allErrors) => {
114
126
  const rootManifestSection = path[0];
115
127
  const manifestSection = path[path.length - 1];
116
128
  if (this.isDeprecatedField(manifestSection, error)) {
117
129
  return this.handleDeprecatedField(manifestSection, error, manifest);
118
130
  }
119
131
  if (rootManifestSection === 'modules') {
120
- return this.handleModuleError(path.slice(1), error, manifest);
132
+ return this.handleModuleError(path.slice(1), error, manifest, allErrors);
121
133
  }
122
- return this.handleGenericError(path, error, manifest);
134
+ return this.handleGenericError(path, error, manifest, allErrors);
123
135
  };
124
136
  async validate(manifest) {
125
137
  if (!manifest || !manifest.yamlContent) {
@@ -129,10 +141,11 @@ class SchemaValidator {
129
141
  };
130
142
  }
131
143
  let success = this.validateSchema(manifest.yamlContent);
132
- const errors = this.validateSchema.errors
144
+ const allErrors = this.validateSchema.errors ?? [];
145
+ const errors = allErrors
133
146
  ?.map((error) => {
134
147
  const values = error.instancePath.replace(/\/\d+/, '').split('/').slice(1);
135
- return this.handleError(values, error, manifest);
148
+ return this.handleError(values, error, manifest, allErrors);
136
149
  })
137
150
  .filter((e) => e !== undefined);
138
151
  const _isEqual = (e1, e2) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/manifest",
3
- "version": "12.6.0-next.3",
3
+ "version": "12.7.0-next.0",
4
4
  "description": "Definitions and validations of the Forge manifest",
5
5
  "main": "out/index.js",
6
6
  "scripts": {