@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 +12 -0
- package/out/schema/basic-manifest-schema.json +0 -8
- package/out/schema/basic-manifest.d.ts +0 -4
- package/out/schema/manifest-schema.json +13 -11
- package/out/schema/manifest.d.ts +6 -4
- package/out/validators/compatibility-validator.d.ts.map +1 -1
- package/out/validators/compatibility-validator.js +9 -13
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -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":
|
|
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":
|
|
31871
|
+
"maxLength": 64,
|
|
31870
31872
|
"minLength": 1,
|
|
31871
31873
|
"pattern": "^[a-zA-Z0-9-._]+$",
|
|
31872
31874
|
"title": "ActionExtensionKey",
|
package/out/schema/manifest.d.ts
CHANGED
|
@@ -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;
|
|
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
|
|
20
|
-
const
|
|
21
|
-
if (
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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;
|