@forge/manifest 7.5.0-next.2 → 7.5.0-next.4

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
+ ## 7.5.0-next.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 2b5d6f2: Adds validation for rovo:agent actions/skills
8
+
9
+ ## 7.5.0-next.3
10
+
11
+ ### Patch Changes
12
+
13
+ - 8c3a153: Update manifest definitions
14
+
3
15
  ## 7.5.0-next.2
4
16
 
5
17
  ### Minor Changes
@@ -808,6 +808,47 @@
808
808
  },
809
809
  "minItems": 1
810
810
  },
811
+ "action": {
812
+ "type": "array",
813
+ "items": {
814
+ "type": "object",
815
+ "properties": {
816
+ "actionType": {
817
+ "description": "The action-type defines the action inputs and how actions can be categorised and discovered. \neg an action-type atlassian:issue:create:comment defines the inputs issueId and comment. \nDifferent implementations of actions with action-type of atlassian:issue:create:comment can be\nswapped depending on what integrations a tenant might have.",
818
+ "type": "string",
819
+ "minLength": 1,
820
+ "maxLength": 255,
821
+ "pattern": "^[a-zA-Z0-9\\-_:]+$"
822
+ },
823
+ "isConsequential": {
824
+ "type": "boolean",
825
+ "description": "If the action changes data then this should be true. \nRead only action should mark isConsequential as false."
826
+ },
827
+ "function": {
828
+ "description": "Name of the key of the function that will handle this action.",
829
+ "type": "string",
830
+ "minLength": 1,
831
+ "maxLength": 255,
832
+ "pattern": "^[a-zA-Z0-9-_]+$"
833
+ },
834
+ "key": {
835
+ "$ref": "#/definitions/ModuleKeySchema"
836
+ }
837
+ },
838
+ "required": [
839
+ "actionType",
840
+ "isConsequential",
841
+ "function",
842
+ "key"
843
+ ],
844
+ "not": {
845
+ "required": [
846
+ "unlicensedAccess"
847
+ ]
848
+ }
849
+ },
850
+ "minItems": 1
851
+ },
811
852
  "macro": {
812
853
  "type": "array",
813
854
  "items": {
@@ -17544,6 +17585,128 @@
17544
17585
  }
17545
17586
  },
17546
17587
  "minItems": 1
17588
+ },
17589
+ "ai:skill": {
17590
+ "type": "array",
17591
+ "items": {
17592
+ "oneOf": [
17593
+ {
17594
+ "type": "object",
17595
+ "additionalProperties": false,
17596
+ "required": [
17597
+ "name",
17598
+ "description",
17599
+ "function",
17600
+ "key"
17601
+ ],
17602
+ "properties": {
17603
+ "name": {
17604
+ "description": "Give it a human friendly skill name so that AI agent render in the UI.",
17605
+ "minLength": 1,
17606
+ "maxLength": 64,
17607
+ "type": "string"
17608
+ },
17609
+ "description": {
17610
+ "minLength": 1,
17611
+ "maxLength": 255,
17612
+ "type": "string"
17613
+ },
17614
+ "function": {
17615
+ "$ref": "#/definitions/AiExtensionKey",
17616
+ "title": "function"
17617
+ },
17618
+ "inputSchema": {
17619
+ "allOf": [
17620
+ {
17621
+ "$ref": "#/definitions/JsonSchema"
17622
+ },
17623
+ {
17624
+ "description": "The input schema for the skill. This must be a valid JSON schema draft v7 and the top level type must be an object.",
17625
+ "type": "object",
17626
+ "properties": {
17627
+ "type": {
17628
+ "type": "string",
17629
+ "enum": [
17630
+ "object"
17631
+ ]
17632
+ }
17633
+ },
17634
+ "required": [
17635
+ "type"
17636
+ ]
17637
+ }
17638
+ ]
17639
+ },
17640
+ "key": {
17641
+ "$ref": "#/definitions/ModuleKeySchema"
17642
+ }
17643
+ },
17644
+ "not": {
17645
+ "required": [
17646
+ "unlicensedAccess"
17647
+ ]
17648
+ }
17649
+ },
17650
+ {
17651
+ "type": "object",
17652
+ "additionalProperties": false,
17653
+ "required": [
17654
+ "name",
17655
+ "description",
17656
+ "endpoint",
17657
+ "key"
17658
+ ],
17659
+ "properties": {
17660
+ "name": {
17661
+ "description": "Give it a human friendly skill name so that AI agent render in the UI.",
17662
+ "minLength": 1,
17663
+ "maxLength": 64,
17664
+ "type": "string"
17665
+ },
17666
+ "description": {
17667
+ "minLength": 1,
17668
+ "maxLength": 255,
17669
+ "type": "string"
17670
+ },
17671
+ "endpoint": {
17672
+ "$ref": "#/definitions/AiExtensionKey",
17673
+ "title": "endpoint"
17674
+ },
17675
+ "inputSchema": {
17676
+ "allOf": [
17677
+ {
17678
+ "$ref": "#/definitions/JsonSchema"
17679
+ },
17680
+ {
17681
+ "description": "The input schema for the skill. This must be a valid JSON schema draft v7 and the top level type must be an object.",
17682
+ "type": "object",
17683
+ "properties": {
17684
+ "type": {
17685
+ "type": "string",
17686
+ "enum": [
17687
+ "object"
17688
+ ]
17689
+ }
17690
+ },
17691
+ "required": [
17692
+ "type"
17693
+ ]
17694
+ }
17695
+ ]
17696
+ },
17697
+ "key": {
17698
+ "$ref": "#/definitions/ModuleKeySchema"
17699
+ }
17700
+ },
17701
+ "not": {
17702
+ "required": [
17703
+ "unlicensedAccess"
17704
+ ]
17705
+ }
17706
+ }
17707
+ ]
17708
+ },
17709
+ "minItems": 1
17547
17710
  }
17548
17711
  },
17549
17712
  "title": "ModuleSchema",
@@ -20228,6 +20391,251 @@
20228
20391
  "type": "object",
20229
20392
  "title": "Body",
20230
20393
  "description": "\n\n<p>\n Defines styles to be applied on the body of content view.\n </p>\n <p>\n The supported properties include <i>background</i> shorthand property and all CSS background element properties.\n The keys are the camelCased versions of corresponding CSS properties, like <i>backgroundImage</i>,\n <i>backgroundColor</i>, <i>backgroundSize</i>, <i>backgroundPosition</i>, <i>backgroundRepeat</i>,\n <i>backgroundClip</i>, <i>backgroundOrigin</i>, <i>backgroundAttachment</i>, and <i>backgroundBlendMode</i>.\n </p>\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"padding\": \"10px\",\n \"borderRadius\": \"0 0 5px 5px\",\n \"background\": \"#FFFFFF\"\n }\n\n\n"
20394
+ },
20395
+ "AiExtensionKey": {
20396
+ "description": "The key for an extension in CaaS. That means that this is a reference to another extension in your descriptor / manifest.",
20397
+ "maxLength": 255,
20398
+ "minLength": 1,
20399
+ "pattern": "^[a-zA-Z0-9-._]+$",
20400
+ "title": "AiExtensionKey",
20401
+ "type": "string"
20402
+ },
20403
+ "schemaArray": {
20404
+ "type": "array",
20405
+ "minItems": 1,
20406
+ "items": {
20407
+ "$ref": "#/definitions/JsonSchema"
20408
+ }
20409
+ },
20410
+ "nonNegativeInteger": {
20411
+ "type": "integer",
20412
+ "minimum": 0
20413
+ },
20414
+ "nonNegativeIntegerDefault0": {
20415
+ "allOf": [
20416
+ {
20417
+ "$ref": "#/definitions/nonNegativeInteger"
20418
+ },
20419
+ {
20420
+ "default": 0
20421
+ }
20422
+ ]
20423
+ },
20424
+ "simpleTypes": {
20425
+ "enum": [
20426
+ "array",
20427
+ "boolean",
20428
+ "integer",
20429
+ "null",
20430
+ "number",
20431
+ "object",
20432
+ "string"
20433
+ ]
20434
+ },
20435
+ "stringArray": {
20436
+ "type": "array",
20437
+ "items": {
20438
+ "type": "string"
20439
+ },
20440
+ "uniqueItems": true,
20441
+ "default": []
20442
+ },
20443
+ "JsonSchema": {
20444
+ "title": "Core schema meta-schema",
20445
+ "type": [
20446
+ "object",
20447
+ "boolean"
20448
+ ],
20449
+ "properties": {
20450
+ "$id": {
20451
+ "type": "string",
20452
+ "format": "uri-reference"
20453
+ },
20454
+ "$schema": {
20455
+ "type": "string",
20456
+ "format": "uri"
20457
+ },
20458
+ "$ref": {
20459
+ "type": "string",
20460
+ "format": "uri-reference"
20461
+ },
20462
+ "$comment": {
20463
+ "type": "string"
20464
+ },
20465
+ "title": {
20466
+ "type": "string"
20467
+ },
20468
+ "description": {
20469
+ "type": "string"
20470
+ },
20471
+ "default": true,
20472
+ "readOnly": {
20473
+ "type": "boolean",
20474
+ "default": false
20475
+ },
20476
+ "examples": {
20477
+ "type": "array",
20478
+ "items": true
20479
+ },
20480
+ "multipleOf": {
20481
+ "type": "number",
20482
+ "exclusiveMinimum": 0
20483
+ },
20484
+ "maximum": {
20485
+ "type": "number"
20486
+ },
20487
+ "exclusiveMaximum": {
20488
+ "type": "number"
20489
+ },
20490
+ "minimum": {
20491
+ "type": "number"
20492
+ },
20493
+ "exclusiveMinimum": {
20494
+ "type": "number"
20495
+ },
20496
+ "maxLength": {
20497
+ "$ref": "#/definitions/nonNegativeInteger"
20498
+ },
20499
+ "minLength": {
20500
+ "$ref": "#/definitions/nonNegativeIntegerDefault0"
20501
+ },
20502
+ "pattern": {
20503
+ "type": "string",
20504
+ "format": "regex"
20505
+ },
20506
+ "additionalItems": {
20507
+ "$ref": "#/definitions/JsonSchema"
20508
+ },
20509
+ "items": {
20510
+ "anyOf": [
20511
+ {
20512
+ "$ref": "#/definitions/JsonSchema"
20513
+ },
20514
+ {
20515
+ "$ref": "#/definitions/schemaArray"
20516
+ }
20517
+ ],
20518
+ "default": true
20519
+ },
20520
+ "maxItems": {
20521
+ "$ref": "#/definitions/nonNegativeInteger"
20522
+ },
20523
+ "minItems": {
20524
+ "$ref": "#/definitions/nonNegativeIntegerDefault0"
20525
+ },
20526
+ "uniqueItems": {
20527
+ "type": "boolean",
20528
+ "default": false
20529
+ },
20530
+ "contains": {
20531
+ "$ref": "#/definitions/JsonSchema"
20532
+ },
20533
+ "maxProperties": {
20534
+ "$ref": "#/definitions/nonNegativeInteger"
20535
+ },
20536
+ "minProperties": {
20537
+ "$ref": "#/definitions/nonNegativeIntegerDefault0"
20538
+ },
20539
+ "required": {
20540
+ "$ref": "#/definitions/stringArray"
20541
+ },
20542
+ "additionalProperties": {
20543
+ "$ref": "#/definitions/JsonSchema"
20544
+ },
20545
+ "definitions": {
20546
+ "type": "object",
20547
+ "additionalProperties": {
20548
+ "$ref": "#/definitions/JsonSchema"
20549
+ },
20550
+ "default": {}
20551
+ },
20552
+ "properties": {
20553
+ "type": "object",
20554
+ "additionalProperties": {
20555
+ "$ref": "#/definitions/JsonSchema"
20556
+ },
20557
+ "default": {}
20558
+ },
20559
+ "patternProperties": {
20560
+ "type": "object",
20561
+ "additionalProperties": {
20562
+ "$ref": "#/definitions/JsonSchema"
20563
+ },
20564
+ "propertyNames": {
20565
+ "format": "regex"
20566
+ },
20567
+ "default": {}
20568
+ },
20569
+ "dependencies": {
20570
+ "type": "object",
20571
+ "additionalProperties": {
20572
+ "anyOf": [
20573
+ {
20574
+ "$ref": "#/definitions/JsonSchema"
20575
+ },
20576
+ {
20577
+ "$ref": "#/definitions/stringArray"
20578
+ }
20579
+ ]
20580
+ }
20581
+ },
20582
+ "propertyNames": {
20583
+ "$ref": "#/definitions/JsonSchema"
20584
+ },
20585
+ "const": true,
20586
+ "enum": {
20587
+ "type": "array",
20588
+ "items": true,
20589
+ "minItems": 1,
20590
+ "uniqueItems": true
20591
+ },
20592
+ "type": {
20593
+ "anyOf": [
20594
+ {
20595
+ "$ref": "#/definitions/simpleTypes"
20596
+ },
20597
+ {
20598
+ "type": "array",
20599
+ "items": {
20600
+ "$ref": "#/definitions/simpleTypes"
20601
+ },
20602
+ "minItems": 1,
20603
+ "uniqueItems": true
20604
+ }
20605
+ ]
20606
+ },
20607
+ "format": {
20608
+ "type": "string"
20609
+ },
20610
+ "contentMediaType": {
20611
+ "type": "string"
20612
+ },
20613
+ "contentEncoding": {
20614
+ "type": "string"
20615
+ },
20616
+ "if": {
20617
+ "$ref": "#/definitions/JsonSchema"
20618
+ },
20619
+ "then": {
20620
+ "$ref": "#/definitions/JsonSchema"
20621
+ },
20622
+ "else": {
20623
+ "$ref": "#/definitions/JsonSchema"
20624
+ },
20625
+ "allOf": {
20626
+ "$ref": "#/definitions/schemaArray"
20627
+ },
20628
+ "anyOf": {
20629
+ "$ref": "#/definitions/schemaArray"
20630
+ },
20631
+ "oneOf": {
20632
+ "$ref": "#/definitions/schemaArray"
20633
+ },
20634
+ "not": {
20635
+ "$ref": "#/definitions/JsonSchema"
20636
+ }
20637
+ },
20638
+ "default": true
20231
20639
  }
20232
20640
  },
20233
20641
  "additionalProperties": false,
@@ -381,6 +381,77 @@ export type LinkTypes = [
381
381
  * The key for an action extension in your descriptor / manifest.
382
382
  */
383
383
  export type ActionExtensionKey = string;
384
+ /**
385
+ * The key for an extension in CaaS. That means that this is a reference to another extension in your descriptor / manifest.
386
+ */
387
+ export type Function3 = string;
388
+ export type CoreSchemaMetaSchema =
389
+ | {
390
+ $id?: string;
391
+ $schema?: string;
392
+ $ref?: string;
393
+ $comment?: string;
394
+ title?: string;
395
+ description?: string;
396
+ default?: true;
397
+ readOnly?: boolean;
398
+ examples?: true[];
399
+ multipleOf?: number;
400
+ maximum?: number;
401
+ exclusiveMaximum?: number;
402
+ minimum?: number;
403
+ exclusiveMinimum?: number;
404
+ maxLength?: NonNegativeInteger;
405
+ minLength?: NonNegativeIntegerDefault0;
406
+ pattern?: string;
407
+ additionalItems?: CoreSchemaMetaSchema;
408
+ items?: CoreSchemaMetaSchema | SchemaArray;
409
+ maxItems?: NonNegativeInteger;
410
+ minItems?: NonNegativeIntegerDefault0;
411
+ uniqueItems?: boolean;
412
+ contains?: CoreSchemaMetaSchema;
413
+ maxProperties?: NonNegativeInteger;
414
+ minProperties?: NonNegativeIntegerDefault0;
415
+ required?: StringArray;
416
+ additionalProperties?: CoreSchemaMetaSchema;
417
+ definitions?: {
418
+ [k: string]: CoreSchemaMetaSchema;
419
+ };
420
+ properties?: {
421
+ [k: string]: CoreSchemaMetaSchema;
422
+ };
423
+ patternProperties?: {
424
+ [k: string]: CoreSchemaMetaSchema;
425
+ };
426
+ dependencies?: {
427
+ [k: string]: CoreSchemaMetaSchema | StringArray;
428
+ };
429
+ propertyNames?: CoreSchemaMetaSchema;
430
+ const?: true;
431
+ enum?: [true, ...unknown[]];
432
+ type?: SimpleTypes | [SimpleTypes, ...SimpleTypes[]];
433
+ format?: string;
434
+ contentMediaType?: string;
435
+ contentEncoding?: string;
436
+ if?: CoreSchemaMetaSchema;
437
+ then?: CoreSchemaMetaSchema;
438
+ else?: CoreSchemaMetaSchema;
439
+ allOf?: SchemaArray;
440
+ anyOf?: SchemaArray;
441
+ oneOf?: SchemaArray;
442
+ not?: CoreSchemaMetaSchema;
443
+ [k: string]: unknown;
444
+ }
445
+ | boolean;
446
+ export type NonNegativeInteger = number;
447
+ export type NonNegativeIntegerDefault0 = NonNegativeInteger & number;
448
+ export type SchemaArray = [CoreSchemaMetaSchema, ...CoreSchemaMetaSchema[]];
449
+ export type StringArray = string[];
450
+ export type SimpleTypes = 'array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string';
451
+ /**
452
+ * The key for an extension in CaaS. That means that this is a reference to another extension in your descriptor / manifest.
453
+ */
454
+ export type Endpoint2 = string;
384
455
  export type Scopes = string[];
385
456
  export type Scripts = string[];
386
457
  export type Styles = 'unsafe-inline'[];
@@ -889,6 +960,48 @@ export interface Modules {
889
960
  [k: string]: unknown;
890
961
  }[]
891
962
  ];
963
+ action?: [
964
+ {
965
+ /**
966
+ * The action-type defines the action inputs and how actions can be categorised and discovered.
967
+ * eg an action-type atlassian:issue:create:comment defines the inputs issueId and comment.
968
+ * Different implementations of actions with action-type of atlassian:issue:create:comment can be
969
+ * swapped depending on what integrations a tenant might have.
970
+ */
971
+ actionType: string;
972
+ /**
973
+ * If the action changes data then this should be true.
974
+ * Read only action should mark isConsequential as false.
975
+ */
976
+ isConsequential: boolean;
977
+ /**
978
+ * Name of the key of the function that will handle this action.
979
+ */
980
+ function: string;
981
+ key: ModuleKeySchema;
982
+ [k: string]: unknown;
983
+ },
984
+ ...{
985
+ /**
986
+ * The action-type defines the action inputs and how actions can be categorised and discovered.
987
+ * eg an action-type atlassian:issue:create:comment defines the inputs issueId and comment.
988
+ * Different implementations of actions with action-type of atlassian:issue:create:comment can be
989
+ * swapped depending on what integrations a tenant might have.
990
+ */
991
+ actionType: string;
992
+ /**
993
+ * If the action changes data then this should be true.
994
+ * Read only action should mark isConsequential as false.
995
+ */
996
+ isConsequential: boolean;
997
+ /**
998
+ * Name of the key of the function that will handle this action.
999
+ */
1000
+ function: string;
1001
+ key: ModuleKeySchema;
1002
+ [k: string]: unknown;
1003
+ }[]
1004
+ ];
892
1005
  macro?: [
893
1006
  (
894
1007
  | {
@@ -7949,6 +8062,64 @@ export interface Modules {
7949
8062
  key: ModuleKeySchema;
7950
8063
  }[]
7951
8064
  ];
8065
+ 'ai:skill'?: [
8066
+ (
8067
+ | {
8068
+ /**
8069
+ * Give it a human friendly skill name so that AI agent render in the UI.
8070
+ */
8071
+ name: string;
8072
+ description: string;
8073
+ function: Function3;
8074
+ inputSchema?: CoreSchemaMetaSchema & {
8075
+ type: 'object';
8076
+ [k: string]: unknown;
8077
+ };
8078
+ key: ModuleKeySchema;
8079
+ }
8080
+ | {
8081
+ /**
8082
+ * Give it a human friendly skill name so that AI agent render in the UI.
8083
+ */
8084
+ name: string;
8085
+ description: string;
8086
+ endpoint: Endpoint2;
8087
+ inputSchema?: CoreSchemaMetaSchema & {
8088
+ type: 'object';
8089
+ [k: string]: unknown;
8090
+ };
8091
+ key: ModuleKeySchema;
8092
+ }
8093
+ ),
8094
+ ...(
8095
+ | {
8096
+ /**
8097
+ * Give it a human friendly skill name so that AI agent render in the UI.
8098
+ */
8099
+ name: string;
8100
+ description: string;
8101
+ function: Function3;
8102
+ inputSchema?: CoreSchemaMetaSchema & {
8103
+ type: 'object';
8104
+ [k: string]: unknown;
8105
+ };
8106
+ key: ModuleKeySchema;
8107
+ }
8108
+ | {
8109
+ /**
8110
+ * Give it a human friendly skill name so that AI agent render in the UI.
8111
+ */
8112
+ name: string;
8113
+ description: string;
8114
+ endpoint: Endpoint2;
8115
+ inputSchema?: CoreSchemaMetaSchema & {
8116
+ type: 'object';
8117
+ [k: string]: unknown;
8118
+ };
8119
+ key: ModuleKeySchema;
8120
+ }
8121
+ )[]
8122
+ ];
7952
8123
  [k: string]: unknown;
7953
8124
  }
7954
8125
  export interface Filter {
@@ -108,6 +108,9 @@ export declare const errors: {
108
108
  remote: {
109
109
  missingModuleRemoteStorageInScopeEUD: (key: string) => string;
110
110
  };
111
+ rovo: {
112
+ incorrectAgentActionReference: (module: string, moduleKey: string) => string;
113
+ };
111
114
  };
112
115
  resources: {
113
116
  missingResource: (folder: string, key: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/text/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/text/errors.ts"],"names":[],"mappings":"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"}
@@ -120,6 +120,9 @@ exports.errors = {
120
120
  },
121
121
  remote: {
122
122
  missingModuleRemoteStorageInScopeEUD: (key) => `missing storage.inScopeEUD in ${key} module. storage.inScopeEUD is required if storage is present in operations.`
123
+ },
124
+ rovo: {
125
+ incorrectAgentActionReference: (module, moduleKey) => `${module} references undefined action module with key '${moduleKey}'.`
123
126
  }
124
127
  },
125
128
  resources: {
@@ -152,7 +152,9 @@ export declare enum AllModuleTypes {
152
152
  AutomationForConfluenceAttributeResolver = "automation:attributeResolver",
153
153
  AutomationForConfluenceTemplate = "automation:template",
154
154
  AutomationForConfluenceI18n = "automation:i18n",
155
- RovoAgent = "rovo:agent"
155
+ RovoAgent = "rovo:agent",
156
+ CoreAction = "core:action",
157
+ AISkill = "ai:skill"
156
158
  }
157
159
  export declare const SUPPORTED_MODULES: AllModuleTypes[];
158
160
  export declare const SUPPORTED_PRODUCTS_ONLY: string[];
@@ -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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"}
@@ -157,6 +157,8 @@ var AllModuleTypes;
157
157
  AllModuleTypes["AutomationForConfluenceTemplate"] = "automation:template";
158
158
  AllModuleTypes["AutomationForConfluenceI18n"] = "automation:i18n";
159
159
  AllModuleTypes["RovoAgent"] = "rovo:agent";
160
+ AllModuleTypes["CoreAction"] = "core:action";
161
+ AllModuleTypes["AISkill"] = "ai:skill";
160
162
  })(AllModuleTypes = exports.AllModuleTypes || (exports.AllModuleTypes = {}));
161
163
  exports.SUPPORTED_MODULES = Object.values(AllModuleTypes);
162
164
  exports.SUPPORTED_PRODUCTS_ONLY = [...new Set(exports.SUPPORTED_MODULES.map((module) => module.split(':')[0]))];
@@ -1 +1 @@
1
- {"version":3,"file":"modules-validator.d.ts","sourceRoot":"","sources":["../../src/validators/modules-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,wBAAwB,EAIzB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,cAAc,EAAoB,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAW3D,qBAAa,gBACX,YAAW,kBAAkB,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC;IAEzF,OAAO,CAAC,oBAAoB,CAA0C;IAEhE,QAAQ,CACZ,QAAQ,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,GACnD,OAAO,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;IA8OpD,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,mBAAmB;CAsG5B"}
1
+ {"version":3,"file":"modules-validator.d.ts","sourceRoot":"","sources":["../../src/validators/modules-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,wBAAwB,EAIzB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,cAAc,EAAoB,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAY3D,qBAAa,gBACX,YAAW,kBAAkB,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC;IAEzF,OAAO,CAAC,oBAAoB,CAA0C;IAEhE,QAAQ,CACZ,QAAQ,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,GACnD,OAAO,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAgPpD,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,mBAAmB;CAsG5B"}
@@ -13,6 +13,7 @@ const validate_subpages_in_module_1 = require("./modules-validators/jira/validat
13
13
  const remote_1 = require("./modules-validators/remote");
14
14
  const validateModuleScopes_1 = require("./modules-validators/validateModuleScopes");
15
15
  const bitbucket_1 = require("./modules-validators/bitbucket");
16
+ const rovo_1 = require("./modules-validators/rovo");
16
17
  class ModulesValidator {
17
18
  functionHandlerRegex = /^([a-zA-Z0-9-_]+)\.([a-zA-Z0-9-_]+)$/;
18
19
  async validate(manifest) {
@@ -187,6 +188,7 @@ class ModulesValidator {
187
188
  });
188
189
  validationErrors.push(...(0, remote_1.validateRemoteModules)(modules, yamlContentByLine));
189
190
  validationErrors.push(...(0, validateModuleScopes_1.validateModuleScopes)(modules, yamlContentByLine, permissions));
191
+ validationErrors.push(...(0, rovo_1.validateRovoModules)(modules, yamlContentByLine));
190
192
  }
191
193
  return {
192
194
  success: validationErrors.length === 0,
@@ -0,0 +1,4 @@
1
+ import { ValidationError } from '../../../types';
2
+ import { Modules } from '../../../schema/manifest';
3
+ export declare const validateRovoModules: (modules: Modules, yamlContentByLine?: string[]) => ValidationError[];
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/rovo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAGnD,eAAO,MAAM,mBAAmB,YAAa,OAAO,sBAAsB,MAAM,EAAE,KAAG,eAAe,EAMnG,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateRovoModules = void 0;
4
+ const validate_rovo_agent_actions_1 = require("./validate-rovo-agent-actions");
5
+ const validateRovoModules = (modules, yamlContentByLine) => {
6
+ const validationErrors = [];
7
+ validationErrors.push(...(0, validate_rovo_agent_actions_1.validateRovoAgentActions)(modules, yamlContentByLine));
8
+ return validationErrors;
9
+ };
10
+ exports.validateRovoModules = validateRovoModules;
@@ -0,0 +1,4 @@
1
+ import { ValidationError } from '../../../types';
2
+ import { Modules } from '../../../schema/manifest';
3
+ export declare const validateRovoAgentActions: (allModules: Modules, yamlContentByLine?: string[]) => ValidationError[];
4
+ //# sourceMappingURL=validate-rovo-agent-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-rovo-agent-actions.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/rovo/validate-rovo-agent-actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,eAAO,MAAM,wBAAwB,eAAgB,OAAO,sBAAsB,MAAM,EAAE,KAAG,eAAe,EAc3G,CAAC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateRovoAgentActions = void 0;
4
+ const types_1 = require("../../../types");
5
+ const text_1 = require("../../../text");
6
+ const utils_1 = require("../../../utils");
7
+ const validateRovoAgentActions = (allModules, yamlContentByLine) => {
8
+ const validationErrors = [];
9
+ const rovoAgents = allModules[types_1.AllModuleTypes.RovoAgent];
10
+ const skillsAndActions = getSkillsAndActions(allModules);
11
+ rovoAgents?.forEach((agent) => {
12
+ agent.actions?.forEach((action) => {
13
+ if (!skillsAndActions.includes(action)) {
14
+ validationErrors.push(getValidationError(agent.key, action, yamlContentByLine));
15
+ }
16
+ });
17
+ });
18
+ return validationErrors;
19
+ };
20
+ exports.validateRovoAgentActions = validateRovoAgentActions;
21
+ function getValidationError(agent, action, yamlContentByLine) {
22
+ return {
23
+ message: text_1.errors.modules.rovo.incorrectAgentActionReference(agent, action),
24
+ reference: text_1.References.Modules,
25
+ level: 'error',
26
+ ...(0, utils_1.findPosition)(agent, yamlContentByLine)
27
+ };
28
+ }
29
+ function getSkillsAndActions(allModules) {
30
+ const rovoActionKey = (0, utils_1.cleanKey)(types_1.AllModuleTypes.CoreAction);
31
+ const rovoActions = allModules[rovoActionKey]?.map((action) => action.key) ?? [];
32
+ const aiSkills = allModules[types_1.AllModuleTypes.AISkill]?.map((skill) => skill.key) ?? [];
33
+ return [...rovoActions, ...aiSkills];
34
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/manifest",
3
- "version": "7.5.0-next.2",
3
+ "version": "7.5.0-next.4",
4
4
  "description": "Definitions and validations of the Forge manifest",
5
5
  "main": "out/index.js",
6
6
  "scripts": {