@forge/manifest 7.5.0 → 7.5.1-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,11 @@
1
1
  # @forge/manifest
2
2
 
3
+ ## 7.5.1-next.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 116a97f: Update manifest definitions
8
+
3
9
  ## 7.5.0
4
10
 
5
11
  ### Minor Changes
@@ -811,64 +811,127 @@
811
811
  "action": {
812
812
  "type": "array",
813
813
  "items": {
814
- "type": "object",
815
- "properties": {
816
- "description": {
817
- "description": "The description that the Rovo agent will use to decide when to invoke this action.",
818
- "minLength": 1,
819
- "maxLength": 255,
820
- "type": "string"
821
- },
822
- "actionType": {
823
- "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.",
824
- "type": "string",
825
- "minLength": 1,
826
- "maxLength": 255,
827
- "pattern": "^[a-zA-Z0-9\\-_:]+$"
828
- },
829
- "isConsequential": {
830
- "type": "boolean",
831
- "description": "If the action changes data then this should be true. \nRead only action should mark isConsequential as false."
832
- },
833
- "function": {
834
- "description": "Name of the key of the function that will handle this action.",
835
- "type": "string",
836
- "minLength": 1,
837
- "maxLength": 255,
838
- "pattern": "^[a-zA-Z0-9-_]+$"
839
- },
840
- "actionVerb": {
841
- "description": "The operation that will be performed as a result of calling this action",
842
- "type": "string",
843
- "enum": [
844
- "CREATE",
845
- "UPDATE",
846
- "DELETE",
847
- "TRIGGER",
848
- "GET"
849
- ]
850
- },
851
- "inputs": {
814
+ "oneOf": [
815
+ {
816
+ "additionalProperties": false,
852
817
  "type": "object",
853
- "additionalProperties": {
854
- "$ref": "#/definitions/ActionInput"
818
+ "properties": {
819
+ "description": {
820
+ "description": "The description that the Rovo agent will use to decide when to invoke this action.",
821
+ "minLength": 1,
822
+ "maxLength": 255,
823
+ "type": "string"
824
+ },
825
+ "actionType": {
826
+ "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.",
827
+ "type": "string",
828
+ "minLength": 1,
829
+ "maxLength": 255,
830
+ "pattern": "^[a-zA-Z0-9\\-_:]+$"
831
+ },
832
+ "isConsequential": {
833
+ "type": "boolean",
834
+ "description": "If the action changes data then this should be true. \nRead only action should mark isConsequential as false."
835
+ },
836
+ "function": {
837
+ "$ref": "#/definitions/ExtensionKey",
838
+ "description": "Name of the key of the function that will handle this action.",
839
+ "title": "function",
840
+ "type": "string"
841
+ },
842
+ "actionVerb": {
843
+ "description": "The operation that will be performed as a result of calling this action",
844
+ "type": "string",
845
+ "enum": [
846
+ "CREATE",
847
+ "UPDATE",
848
+ "DELETE",
849
+ "TRIGGER",
850
+ "GET"
851
+ ]
852
+ },
853
+ "inputs": {
854
+ "type": "object",
855
+ "additionalProperties": {
856
+ "$ref": "#/definitions/ActionInput"
857
+ }
858
+ },
859
+ "key": {
860
+ "$ref": "#/definitions/ModuleKeySchema"
861
+ }
862
+ },
863
+ "required": [
864
+ "isConsequential",
865
+ "function",
866
+ "description",
867
+ "key"
868
+ ],
869
+ "not": {
870
+ "required": [
871
+ "unlicensedAccess"
872
+ ]
855
873
  }
856
874
  },
857
- "key": {
858
- "$ref": "#/definitions/ModuleKeySchema"
875
+ {
876
+ "additionalProperties": false,
877
+ "type": "object",
878
+ "properties": {
879
+ "description": {
880
+ "description": "The description that the Rovo agent will use to decide when to invoke this action.",
881
+ "minLength": 1,
882
+ "maxLength": 255,
883
+ "type": "string"
884
+ },
885
+ "actionType": {
886
+ "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.",
887
+ "type": "string",
888
+ "minLength": 1,
889
+ "maxLength": 255,
890
+ "pattern": "^[a-zA-Z0-9\\-_:]+$"
891
+ },
892
+ "isConsequential": {
893
+ "type": "boolean",
894
+ "description": "If the action changes data then this should be true. \nRead only action should mark isConsequential as false."
895
+ },
896
+ "endpoint": {
897
+ "$ref": "#/definitions/ExtensionKey",
898
+ "title": "endpoint",
899
+ "type": "string"
900
+ },
901
+ "actionVerb": {
902
+ "description": "The operation that will be performed as a result of calling this action",
903
+ "type": "string",
904
+ "enum": [
905
+ "CREATE",
906
+ "UPDATE",
907
+ "DELETE",
908
+ "TRIGGER",
909
+ "GET"
910
+ ]
911
+ },
912
+ "inputs": {
913
+ "type": "object",
914
+ "additionalProperties": {
915
+ "$ref": "#/definitions/ActionInput"
916
+ }
917
+ },
918
+ "key": {
919
+ "$ref": "#/definitions/ModuleKeySchema"
920
+ }
921
+ },
922
+ "required": [
923
+ "isConsequential",
924
+ "endpoint",
925
+ "description",
926
+ "key"
927
+ ],
928
+ "not": {
929
+ "required": [
930
+ "unlicensedAccess"
931
+ ]
932
+ }
859
933
  }
860
- },
861
- "required": [
862
- "isConsequential",
863
- "function",
864
- "description",
865
- "key"
866
- ],
867
- "not": {
868
- "required": [
869
- "unlicensedAccess"
870
- ]
871
- }
934
+ ]
872
935
  },
873
936
  "minItems": 1
874
937
  },
@@ -98,7 +98,18 @@ export type Handler = string;
98
98
  * Whether this function is used for GDPR cleanup (default false). If set to true, this function has a higher rate limit for ESS list queries.
99
99
  */
100
100
  export type Cleanup = boolean;
101
+ /**
102
+ * Name of the key of the function that will handle this action.
103
+ */
104
+ export type Function3 = string;
101
105
  export type CoreActionInputsType = 'boolean' | 'integer' | 'number' | 'string';
106
+ /**
107
+ * The key for an extension in CaaS. That means that this is a reference to another
108
+ * extension in your descriptor / manifest.
109
+ *
110
+ * This key is defined in: https://bitbucket.org/atlassian/connect-service/src/cd7252b/service/cs-apps/api.raml#lines-1094
111
+ */
112
+ export type Endpoint2 = string;
102
113
  export type DisplayConditions =
103
114
  | {
104
115
  customFieldName: CustomFieldName;
@@ -385,7 +396,7 @@ export type ActionExtensionKey = string;
385
396
  /**
386
397
  * The key for an extension in CaaS. That means that this is a reference to another extension in your descriptor / manifest.
387
398
  */
388
- export type Function3 = string;
399
+ export type Function4 = string;
389
400
  export type CoreSchemaMetaSchema =
390
401
  | {
391
402
  $id?: string;
@@ -452,7 +463,7 @@ export type SimpleTypes = 'array' | 'boolean' | 'integer' | 'null' | 'number' |
452
463
  /**
453
464
  * The key for an extension in CaaS. That means that this is a reference to another extension in your descriptor / manifest.
454
465
  */
455
- export type Endpoint2 = string;
466
+ export type Endpoint3 = string;
456
467
  export type Scopes = string[];
457
468
  export type Scripts = string[];
458
469
  export type Styles = 'unsafe-inline'[];
@@ -962,68 +973,118 @@ export interface Modules {
962
973
  }[]
963
974
  ];
964
975
  action?: [
965
- {
966
- /**
967
- * The description that the Rovo agent will use to decide when to invoke this action.
968
- */
969
- description: string;
970
- /**
971
- * The action-type defines the action inputs and how actions can be categorised and discovered.
972
- * eg an action-type atlassian:issue:create:comment defines the inputs issueId and comment.
973
- * Different implementations of actions with action-type of atlassian:issue:create:comment can be
974
- * swapped depending on what integrations a tenant might have.
975
- */
976
- actionType?: string;
977
- /**
978
- * If the action changes data then this should be true.
979
- * Read only action should mark isConsequential as false.
980
- */
981
- isConsequential: boolean;
982
- /**
983
- * Name of the key of the function that will handle this action.
984
- */
985
- function: string;
986
- /**
987
- * The operation that will be performed as a result of calling this action
988
- */
989
- actionVerb?: 'CREATE' | 'UPDATE' | 'DELETE' | 'TRIGGER' | 'GET';
990
- inputs?: {
991
- [k: string]: ActionInput;
992
- };
993
- key: ModuleKeySchema;
994
- [k: string]: unknown;
995
- },
996
- ...{
997
- /**
998
- * The description that the Rovo agent will use to decide when to invoke this action.
999
- */
1000
- description: string;
1001
- /**
1002
- * The action-type defines the action inputs and how actions can be categorised and discovered.
1003
- * eg an action-type atlassian:issue:create:comment defines the inputs issueId and comment.
1004
- * Different implementations of actions with action-type of atlassian:issue:create:comment can be
1005
- * swapped depending on what integrations a tenant might have.
1006
- */
1007
- actionType?: string;
1008
- /**
1009
- * If the action changes data then this should be true.
1010
- * Read only action should mark isConsequential as false.
1011
- */
1012
- isConsequential: boolean;
1013
- /**
1014
- * Name of the key of the function that will handle this action.
1015
- */
1016
- function: string;
1017
- /**
1018
- * The operation that will be performed as a result of calling this action
1019
- */
1020
- actionVerb?: 'CREATE' | 'UPDATE' | 'DELETE' | 'TRIGGER' | 'GET';
1021
- inputs?: {
1022
- [k: string]: ActionInput;
1023
- };
1024
- key: ModuleKeySchema;
1025
- [k: string]: unknown;
1026
- }[]
976
+ (
977
+ | {
978
+ /**
979
+ * The description that the Rovo agent will use to decide when to invoke this action.
980
+ */
981
+ description: string;
982
+ /**
983
+ * The action-type defines the action inputs and how actions can be categorised and discovered.
984
+ * eg an action-type atlassian:issue:create:comment defines the inputs issueId and comment.
985
+ * Different implementations of actions with action-type of atlassian:issue:create:comment can be
986
+ * swapped depending on what integrations a tenant might have.
987
+ */
988
+ actionType?: string;
989
+ /**
990
+ * If the action changes data then this should be true.
991
+ * Read only action should mark isConsequential as false.
992
+ */
993
+ isConsequential: boolean;
994
+ function: Function3;
995
+ /**
996
+ * The operation that will be performed as a result of calling this action
997
+ */
998
+ actionVerb?: 'CREATE' | 'UPDATE' | 'DELETE' | 'TRIGGER' | 'GET';
999
+ inputs?: {
1000
+ [k: string]: ActionInput;
1001
+ };
1002
+ key: ModuleKeySchema;
1003
+ }
1004
+ | {
1005
+ /**
1006
+ * The description that the Rovo agent will use to decide when to invoke this action.
1007
+ */
1008
+ description: string;
1009
+ /**
1010
+ * The action-type defines the action inputs and how actions can be categorised and discovered.
1011
+ * eg an action-type atlassian:issue:create:comment defines the inputs issueId and comment.
1012
+ * Different implementations of actions with action-type of atlassian:issue:create:comment can be
1013
+ * swapped depending on what integrations a tenant might have.
1014
+ */
1015
+ actionType?: string;
1016
+ /**
1017
+ * If the action changes data then this should be true.
1018
+ * Read only action should mark isConsequential as false.
1019
+ */
1020
+ isConsequential: boolean;
1021
+ endpoint: Endpoint2;
1022
+ /**
1023
+ * The operation that will be performed as a result of calling this action
1024
+ */
1025
+ actionVerb?: 'CREATE' | 'UPDATE' | 'DELETE' | 'TRIGGER' | 'GET';
1026
+ inputs?: {
1027
+ [k: string]: ActionInput;
1028
+ };
1029
+ key: ModuleKeySchema;
1030
+ }
1031
+ ),
1032
+ ...(
1033
+ | {
1034
+ /**
1035
+ * The description that the Rovo agent will use to decide when to invoke this action.
1036
+ */
1037
+ description: string;
1038
+ /**
1039
+ * The action-type defines the action inputs and how actions can be categorised and discovered.
1040
+ * eg an action-type atlassian:issue:create:comment defines the inputs issueId and comment.
1041
+ * Different implementations of actions with action-type of atlassian:issue:create:comment can be
1042
+ * swapped depending on what integrations a tenant might have.
1043
+ */
1044
+ actionType?: string;
1045
+ /**
1046
+ * If the action changes data then this should be true.
1047
+ * Read only action should mark isConsequential as false.
1048
+ */
1049
+ isConsequential: boolean;
1050
+ function: Function3;
1051
+ /**
1052
+ * The operation that will be performed as a result of calling this action
1053
+ */
1054
+ actionVerb?: 'CREATE' | 'UPDATE' | 'DELETE' | 'TRIGGER' | 'GET';
1055
+ inputs?: {
1056
+ [k: string]: ActionInput;
1057
+ };
1058
+ key: ModuleKeySchema;
1059
+ }
1060
+ | {
1061
+ /**
1062
+ * The description that the Rovo agent will use to decide when to invoke this action.
1063
+ */
1064
+ description: string;
1065
+ /**
1066
+ * The action-type defines the action inputs and how actions can be categorised and discovered.
1067
+ * eg an action-type atlassian:issue:create:comment defines the inputs issueId and comment.
1068
+ * Different implementations of actions with action-type of atlassian:issue:create:comment can be
1069
+ * swapped depending on what integrations a tenant might have.
1070
+ */
1071
+ actionType?: string;
1072
+ /**
1073
+ * If the action changes data then this should be true.
1074
+ * Read only action should mark isConsequential as false.
1075
+ */
1076
+ isConsequential: boolean;
1077
+ endpoint: Endpoint2;
1078
+ /**
1079
+ * The operation that will be performed as a result of calling this action
1080
+ */
1081
+ actionVerb?: 'CREATE' | 'UPDATE' | 'DELETE' | 'TRIGGER' | 'GET';
1082
+ inputs?: {
1083
+ [k: string]: ActionInput;
1084
+ };
1085
+ key: ModuleKeySchema;
1086
+ }
1087
+ )[]
1027
1088
  ];
1028
1089
  macro?: [
1029
1090
  (
@@ -8093,7 +8154,7 @@ export interface Modules {
8093
8154
  */
8094
8155
  name: string;
8095
8156
  description: string;
8096
- function: Function3;
8157
+ function: Function4;
8097
8158
  inputSchema?: CoreSchemaMetaSchema & {
8098
8159
  type: 'object';
8099
8160
  [k: string]: unknown;
@@ -8106,7 +8167,7 @@ export interface Modules {
8106
8167
  */
8107
8168
  name: string;
8108
8169
  description: string;
8109
- endpoint: Endpoint2;
8170
+ endpoint: Endpoint3;
8110
8171
  inputSchema?: CoreSchemaMetaSchema & {
8111
8172
  type: 'object';
8112
8173
  [k: string]: unknown;
@@ -8121,7 +8182,7 @@ export interface Modules {
8121
8182
  */
8122
8183
  name: string;
8123
8184
  description: string;
8124
- function: Function3;
8185
+ function: Function4;
8125
8186
  inputSchema?: CoreSchemaMetaSchema & {
8126
8187
  type: 'object';
8127
8188
  [k: string]: unknown;
@@ -8134,7 +8195,7 @@ export interface Modules {
8134
8195
  */
8135
8196
  name: string;
8136
8197
  description: string;
8137
- endpoint: Endpoint2;
8198
+ endpoint: Endpoint3;
8138
8199
  inputSchema?: CoreSchemaMetaSchema & {
8139
8200
  type: 'object';
8140
8201
  [k: string]: unknown;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/manifest",
3
- "version": "7.5.0",
3
+ "version": "7.5.1-next.0",
4
4
  "description": "Definitions and validations of the Forge manifest",
5
5
  "main": "out/index.js",
6
6
  "scripts": {