@forge/manifest 13.3.0-next.5 → 13.3.0-next.7

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,17 @@
1
1
  # @forge/manifest
2
2
 
3
+ ## 13.3.0-next.7
4
+
5
+ ### Patch Changes
6
+
7
+ - 89ccb1e: Update manifest definitions
8
+
9
+ ## 13.3.0-next.6
10
+
11
+ ### Patch Changes
12
+
13
+ - e7bfe5e: Removing installationTarget
14
+
3
15
  ## 13.3.0-next.5
4
16
 
5
17
  ### Minor Changes
@@ -51,14 +51,6 @@
51
51
  "name"
52
52
  ]
53
53
  },
54
- "installationTarget": {
55
- "type": "string",
56
- "enum": [
57
- "site",
58
- "unit"
59
- ],
60
- "description": "The target of the app installation."
61
- },
62
54
  "compatibility": {
63
55
  "type": "object",
64
56
  "title": "compatibility",
@@ -58,10 +58,6 @@ export interface App {
58
58
  description?: Description;
59
59
  id: Id;
60
60
  runtime: Runtime;
61
- /**
62
- * The target of the app installation.
63
- */
64
- installationTarget?: 'site' | 'unit';
65
61
  compatibility?: Compatibility;
66
62
  access?: Access;
67
63
  licensing?: Licensing;
@@ -51,14 +51,6 @@
51
51
  "name"
52
52
  ]
53
53
  },
54
- "installationTarget": {
55
- "type": "string",
56
- "enum": [
57
- "site",
58
- "unit"
59
- ],
60
- "description": "The target of the app installation."
61
- },
62
54
  "compatibility": {
63
55
  "type": "object",
64
56
  "title": "compatibility",
@@ -31760,9 +31752,19 @@
31760
31752
  "type": "object",
31761
31753
  "additionalProperties": false,
31762
31754
  "required": [
31763
- "jsonRpcTransport"
31755
+ "jsonRpcTransport",
31756
+ "version"
31764
31757
  ],
31765
31758
  "properties": {
31759
+ "version": {
31760
+ "type": "string",
31761
+ "title": "version",
31762
+ "description": "The A2A protocol version this agent implements. Determines the shape of the AgentCard returned by web-triggers and the message format enforced at invocation time. Supported values: '0.3', '1.0'. This field is required. Early EAP apps deployed before this field existed may be exempt via the xls-a2a-legacy-version-exempt feature gate.",
31763
+ "enum": [
31764
+ "0.3",
31765
+ "1.0"
31766
+ ]
31767
+ },
31766
31768
  "jsonRpcTransport": {
31767
31769
  "$ref": "#/definitions/protocolEndpoint",
31768
31770
  "description": "Enables Agent2Agent protocol over JSON-RPC 2.0 transport."
@@ -31856,7 +31858,7 @@
31856
31858
  "description": "The human-readable name of the MCP server.",
31857
31859
  "type": "string",
31858
31860
  "minLength": 1,
31859
- "maxLength": 255
31861
+ "maxLength": 30
31860
31862
  },
31861
31863
  "tools": {
31862
31864
  "description": "A list of actions that will be exposed by the MCP server.",
@@ -31866,7 +31868,7 @@
31866
31868
  "uniqueItems": true,
31867
31869
  "items": {
31868
31870
  "description": "The key of an action extension in your manifest.",
31869
- "maxLength": 255,
31871
+ "maxLength": 64,
31870
31872
  "minLength": 1,
31871
31873
  "pattern": "^[a-zA-Z0-9-._]+$",
31872
31874
  "title": "ActionExtensionKey",
@@ -511,6 +511,10 @@ export type ActionExtensionKey1 = string;
511
511
  * The key for a rovo:skill module in your descriptor / manifest.
512
512
  */
513
513
  export type RovoSkillModuleKey = string;
514
+ /**
515
+ * The A2A protocol version this agent implements. Determines the shape of the AgentCard returned by web-triggers and the message format enforced at invocation time. Supported values: '0.3', '1.0'. This field is required. Early EAP apps deployed before this field existed may be exempt via the xls-a2a-legacy-version-exempt feature gate.
516
+ */
517
+ export type Version = '0.3' | '1.0';
514
518
  /**
515
519
  * The key of the endpoint that should be invoked.
516
520
  */
@@ -864,10 +868,6 @@ export interface App {
864
868
  description?: Description;
865
869
  id: Id;
866
870
  runtime: Runtime;
867
- /**
868
- * The target of the app installation.
869
- */
870
- installationTarget?: 'site' | 'unit';
871
871
  compatibility?: Compatibility;
872
872
  access?: Access;
873
873
  licensing?: Licensing;
@@ -26263,6 +26263,7 @@ export interface Modules {
26263
26263
  */
26264
26264
  protocols: {
26265
26265
  agent2Agent: {
26266
+ version: Version;
26266
26267
  /**
26267
26268
  * Enables Agent2Agent protocol over JSON-RPC 2.0 transport.
26268
26269
  */
@@ -26310,6 +26311,7 @@ export interface Modules {
26310
26311
  */
26311
26312
  protocols: {
26312
26313
  agent2Agent: {
26314
+ version: Version;
26313
26315
  /**
26314
26316
  * Enables Agent2Agent protocol over JSON-RPC 2.0 transport.
26315
26317
  */
@@ -1 +1 @@
1
- {"version":3,"file":"compatibility-validator.d.ts","sourceRoot":"","sources":["../../src/validators/compatibility-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAmB,MAAM,UAAU,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAK3D,qBAAa,sBAAuB,YAAW,kBAAkB,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC;IAC/F,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;CA2ElG"}
1
+ {"version":3,"file":"compatibility-validator.d.ts","sourceRoot":"","sources":["../../src/validators/compatibility-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAmB,MAAM,UAAU,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAK3D,qBAAa,sBAAuB,YAAW,kBAAkB,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC;IAC/F,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;CAuElG"}
@@ -16,19 +16,15 @@ class CompatibilityValidator {
16
16
  const app = manifest.typedContent.app;
17
17
  const modules = manifest.typedContent.modules || {};
18
18
  const compatibility = app?.compatibility || {};
19
- const installationTarget = app?.installationTarget;
20
- const shouldCheckRequiredContext = installationTarget === undefined || installationTarget === 'site';
21
- if (shouldCheckRequiredContext) {
22
- const hasCompatibilityKeys = Object.keys(compatibility).length > 0;
23
- const requiredContexts = Object.keys(compatibility).filter((key) => compatibility[key]?.required === true);
24
- if (hasCompatibilityKeys && requiredContexts.length !== 1) {
25
- validationErrors.push({
26
- message: text_1.errors.app.compatibility.oneRequiredContext(),
27
- reference: text_2.References.SchemaError,
28
- level: 'error',
29
- ...(0, utils_1.findPosition)('compatibility', manifest.yamlContentByLine)
30
- });
31
- }
19
+ const hasCompatibilityKeys = Object.keys(compatibility).length > 0;
20
+ const requiredContexts = Object.keys(compatibility).filter((key) => compatibility[key]?.required === true);
21
+ if (hasCompatibilityKeys && requiredContexts.length !== 1) {
22
+ validationErrors.push({
23
+ message: text_1.errors.app.compatibility.oneRequiredContext(),
24
+ reference: text_2.References.SchemaError,
25
+ level: 'error',
26
+ ...(0, utils_1.findPosition)('compatibility', manifest.yamlContentByLine)
27
+ });
32
28
  }
33
29
  const isJiraPrimary = compatibility.jira?.required === true;
34
30
  const isConfluencePrimary = compatibility.confluence?.required === true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/manifest",
3
- "version": "13.3.0-next.5",
3
+ "version": "13.3.0-next.7",
4
4
  "description": "Definitions and validations of the Forge manifest",
5
5
  "main": "out/index.js",
6
6
  "scripts": {