@forge/manifest

12.1.2-next.012.1.2-next.1
out/schema/manifest-schema.json
~out/schema/manifest-schema.jsonModified
+183
Index: package/out/schema/manifest-schema.json
===================================================================
--- package/out/schema/manifest-schema.json
+++ package/out/schema/manifest-schema.json
@@ -29674,10 +29674,193 @@
                     }
                 }
             }
         },
+        "RemoteBaseUrlSchema": {
+            "oneOf": [
+                {
+                    "type": "string"
+                },
+                {
+                    "type": "object",
+                    "propertyNames": {
+                        "enum": [
+                            "EU",
+                            "US",
+                            "AU",
+                            "DE",
+                            "SG",
+                            "CA",
+                            "IN",
+                            "KR",
+                            "JP",
+                            "GB",
+                            "CH",
+                            "default"
+                        ]
+                    },
+                    "patternProperties": {
+                        ".+": {
+                            "type": "string",
+                            "minLength": 1
+                        }
+                    },
+                    "required": [
+                        "default"
+                    ]
+                }
+            ]
+        },
+        "RemoteKeySchema": {
+            "type": "string",
+            "description": "A key for the remote, which other modules can refer to. Must be unique within the manifest and have a maximum of 23 characters.",
+            "pattern": "^[a-zA-Z0-9_-]+$",
+            "maxLength": 23
+        },
+        "RemoteOperationsSchema": {
+            "description": "The type of operations done in the remote",
+            "type": "array",
+            "items": {
+                "type": "string",
+                "enum": [
+                    "storage",
+                    "other",
+                    "compute",
+                    "fetch"
+                ]
+            },
+            "minItems": 1
+        },
+        "RemoteAuthSchema": {
+            "description": "Whether the remote should be provided with tokens to use as-app and / or as-user authentication to make requests to Atlassian APIs",
+            "type": "object",
+            "properties": {
+                "appSystemToken": {
+                    "type": "object",
+                    "properties": {
+                        "enabled": {
+                            "type": "boolean"
+                        }
+                    },
+                    "required": [
+                        "enabled"
+                    ],
+                    "additionalProperties": false
+                },
+                "appUserToken": {
+                    "type": "object",
+                    "properties": {
+                        "enabled": {
+                            "type": "boolean"
+                        }
+                    },
+                    "required": [
+                        "enabled"
+                    ],
+                    "additionalProperties": false
+                }
+            },
+            "additionalProperties": false
+        },
+        "RemoteStorageSchema": {
+            "description": "Options related to remote storage",
+            "type": "object",
+            "required": [
+                "inScopeEUD"
+            ],
+            "additionalProperties": false,
+            "properties": {
+                "inScopeEUD": {
+                    "description": "Whether it is storing in scope End User Data",
+                    "type": "boolean"
+                }
+            }
+        },
+        "RemoteConfigurableSchema": {
+            "description": "A remote that an admin can configure",
+            "type": "object",
+            "additionalProperties": false,
+            "properties": {
+                "name": {
+                    "description": "The name that an admin will see when they're configuring the remote",
+                    "type": "string"
+                },
+                "description": {
+                    "description": "The description that an admin will see when they're configuring the remote",
+                    "type": "string"
+                },
+                "supportedPatterns": {
+                    "description": "The domains that are supported for this remote, prefixed with a * wildcard. For example, `*.atlassian.net` would allow this remote to communicate with domains that matched this.",
+                    "type": "array",
+                    "minItems": 1,
+                    "items": {
+                        "type": "string"
+                    }
+                }
+            },
+            "required": [
+                "name",
+                "description"
+            ]
+        },
+        "StaticRemoteSchema": {
+            "type": "object",
+            "title": "StaticRemote",
+            "required": [
+                "key",
+                "baseUrl"
+            ],
+            "additionalProperties": false,
+            "properties": {
+                "key": {
+                    "$ref": "#/definitions/RemoteKeySchema"
+                },
+                "baseUrl": {
+                    "$ref": "#/definitions/RemoteBaseUrlSchema"
+                },
+                "operations": {
+                    "$ref": "#/definitions/RemoteOperationsSchema"
+                },
+                "auth": {
+                    "$ref": "#/definitions/RemoteAuthSchema"
+                },
+                "storage": {
+                    "$ref": "#/definitions/RemoteStorageSchema"
+                }
+            }
+        },
+        "ConfigurableRemoteSchema": {
+            "type": "object",
+            "title": "ConfigurableRemoteSchema",
+            "required": [
+                "key",
+                "configurable"
+            ],
+            "additionalProperties": false,
+            "properties": {
+                "key": {
+                    "$ref": "#/definitions/RemoteKeySchema"
+                },
+                "baseUrl": {
+                    "$ref": "#/definitions/RemoteBaseUrlSchema"
+                },
+                "operations": {
+                    "$ref": "#/definitions/RemoteOperationsSchema"
+                },
+                "auth": {
+                    "$ref": "#/definitions/RemoteAuthSchema"
+                },
+                "storage": {
+                    "$ref": "#/definitions/RemoteStorageSchema"
+                },
+                "configurable": {
+                    "$ref": "#/definitions/RemoteConfigurableSchema"
+                }
+            }
+        },
         "RemotesSchema": {
             "type": "array",
+            "title": "RemotesSchema",
             "items": {
                 "type": "object",
                 "title": "RemotesSchema",
                 "required": [