npm package diff

Package: @forge/manifest

Versions: 7.7.0-next.6 - 7.7.0-next.6-experimental-22c15de

File: package/out/schema/manifest-schema.json

Index: package/out/schema/manifest-schema.json
===================================================================
--- package/out/schema/manifest-schema.json
+++ package/out/schema/manifest-schema.json
@@ -4368,21 +4368,61 @@
                         "oneOf": [
                             {
                                 "type": "object",
                                 "properties": {
-                                    "formatter": {
+                                    "view": {
                                         "type": "object",
                                         "properties": {
-                                            "expression": {
+                                            "resource": {
+                                                "type": "string",
+                                                "minLength": 1,
+                                                "maxLength": 23,
+                                                "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                            },
+                                            "render": {
+                                                "default": "default",
+                                                "enum": [
+                                                    "default",
+                                                    "native"
+                                                ],
                                                 "type": "string"
                                             },
-                                            "export": {
-                                                "type": "boolean"
+                                            "formatter": {
+                                                "type": "object",
+                                                "properties": {
+                                                    "expression": {
+                                                        "type": "string"
+                                                    },
+                                                    "export": {
+                                                        "type": "boolean"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "expression"
+                                                ]
+                                            },
+                                            "value": {
+                                                "type": "object",
+                                                "properties": {
+                                                    "function": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 255,
+                                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "function"
+                                                ]
+                                            },
+                                            "experience": {
+                                                "type": "array",
+                                                "items": {
+                                                    "type": "string",
+                                                    "const": "issue-view"
+                                                }
                                             }
-                                        },
-                                        "required": [
-                                            "expression"
-                                        ]
+                                        }
                                     },
                                     "name": {
                                         "anyOf": [
                                             {
@@ -4585,8 +4625,90 @@
                                                             }
                                                         }
                                                     }
                                                 ]
+                                            },
+                                            {
+                                                "type": "object",
+                                                "properties": {
+                                                    "resource": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 23,
+                                                        "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                                    },
+                                                    "render": {
+                                                        "default": "default",
+                                                        "enum": [
+                                                            "default",
+                                                            "native"
+                                                        ],
+                                                        "type": "string"
+                                                    },
+                                                    "validation": {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "expression": {
+                                                                "type": "string"
+                                                            },
+                                                            "errorMessage": {
+                                                                "anyOf": [
+                                                                    {
+                                                                        "additionalProperties": false,
+                                                                        "type": "object",
+                                                                        "properties": {
+                                                                            "i18n": {
+                                                                                "type": "string",
+                                                                                "minLength": 1,
+                                                                                "maxLength": 300,
+                                                                                "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                                            }
+                                                                        },
+                                                                        "required": [
+                                                                            "i18n"
+                                                                        ]
+                                                                    },
+                                                                    {
+                                                                        "type": "string"
+                                                                    }
+                                                                ]
+                                                            },
+                                                            "errorMessage__i18n": {
+                                                                "type": "string",
+                                                                "minLength": 1,
+                                                                "maxLength": 300,
+                                                                "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "expression"
+                                                        ]
+                                                    },
+                                                    "parser": {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "expression": {
+                                                                "type": "string"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "expression"
+                                                        ]
+                                                    },
+                                                    "experience": {
+                                                        "type": "array",
+                                                        "items": {
+                                                            "type": "string",
+                                                            "enum": [
+                                                                "issue-view",
+                                                                "issue-create"
+                                                            ]
+                                                        }
+                                                    },
+                                                    "isInline": {
+                                                        "type": "boolean"
+                                                    }
+                                                }
                                             }
                                         ]
                                     },
                                     "value": {
@@ -4685,8 +4807,448 @@
                             },
                             {
                                 "type": "object",
                                 "properties": {
+                                    "view": {
+                                        "type": "object",
+                                        "properties": {
+                                            "resource": {
+                                                "type": "string",
+                                                "minLength": 1,
+                                                "maxLength": 23,
+                                                "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                            },
+                                            "render": {
+                                                "default": "default",
+                                                "enum": [
+                                                    "default",
+                                                    "native"
+                                                ],
+                                                "type": "string"
+                                            },
+                                            "formatter": {
+                                                "type": "object",
+                                                "properties": {
+                                                    "expression": {
+                                                        "type": "string"
+                                                    },
+                                                    "export": {
+                                                        "type": "boolean"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "expression"
+                                                ]
+                                            },
+                                            "value": {
+                                                "type": "object",
+                                                "properties": {
+                                                    "function": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 255,
+                                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "function"
+                                                ]
+                                            },
+                                            "experience": {
+                                                "type": "array",
+                                                "items": {
+                                                    "type": "string",
+                                                    "const": "issue-view"
+                                                }
+                                            }
+                                        },
+                                        "required": [
+                                            "formatter"
+                                        ]
+                                    },
+                                    "schema": {
+                                        "type": "object",
+                                        "properties": {}
+                                    },
+                                    "name": {
+                                        "anyOf": [
+                                            {
+                                                "type": "string",
+                                                "minLength": 1,
+                                                "maxLength": 100
+                                            },
+                                            {
+                                                "additionalProperties": false,
+                                                "type": "object",
+                                                "properties": {
+                                                    "i18n": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "i18n"
+                                                ]
+                                            }
+                                        ]
+                                    },
+                                    "name__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
+                                    "description": {
+                                        "anyOf": [
+                                            {
+                                                "type": "string",
+                                                "minLength": 1,
+                                                "maxLength": 1000
+                                            },
+                                            {
+                                                "additionalProperties": false,
+                                                "type": "object",
+                                                "properties": {
+                                                    "i18n": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "i18n"
+                                                ]
+                                            }
+                                        ]
+                                    },
+                                    "description__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
+                                    "type": {
+                                        "type": "string",
+                                        "const": "object"
+                                    },
+                                    "collection": {
+                                        "enum": [
+                                            "list",
+                                            "none"
+                                        ],
+                                        "type": "string"
+                                    },
+                                    "validation": {
+                                        "type": "object",
+                                        "properties": {
+                                            "expression": {
+                                                "type": "string"
+                                            },
+                                            "errorMessage": {
+                                                "anyOf": [
+                                                    {
+                                                        "additionalProperties": false,
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "i18n": {
+                                                                "type": "string",
+                                                                "minLength": 1,
+                                                                "maxLength": 300,
+                                                                "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "i18n"
+                                                        ]
+                                                    },
+                                                    {
+                                                        "type": "string"
+                                                    }
+                                                ]
+                                            },
+                                            "errorMessage__i18n": {
+                                                "type": "string",
+                                                "minLength": 1,
+                                                "maxLength": 300,
+                                                "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                            }
+                                        },
+                                        "required": [
+                                            "expression"
+                                        ]
+                                    },
+                                    "readOnly": {
+                                        "type": "boolean"
+                                    },
+                                    "resolver": {
+                                        "anyOf": [
+                                            {
+                                                "additionalProperties": false,
+                                                "type": "object",
+                                                "properties": {
+                                                    "function": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 255,
+                                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "function"
+                                                ]
+                                            },
+                                            {
+                                                "additionalProperties": false,
+                                                "type": "object",
+                                                "properties": {
+                                                    "endpoint": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 255,
+                                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "endpoint"
+                                                ]
+                                            }
+                                        ]
+                                    },
+                                    "edit": {
+                                        "anyOf": [
+                                            {
+                                                "type": "object",
+                                                "properties": {
+                                                    "function": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 255,
+                                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "function"
+                                                ]
+                                            },
+                                            {
+                                                "allOf": [
+                                                    {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "resource": {
+                                                                "type": "string",
+                                                                "minLength": 1,
+                                                                "maxLength": 23,
+                                                                "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                                            },
+                                                            "render": {
+                                                                "default": "default",
+                                                                "enum": [
+                                                                    "default",
+                                                                    "native"
+                                                                ],
+                                                                "type": "string"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "resource"
+                                                        ]
+                                                    },
+                                                    {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "isInline": {
+                                                                "type": "boolean"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            {
+                                                "type": "object",
+                                                "properties": {
+                                                    "resource": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 23,
+                                                        "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                                    },
+                                                    "render": {
+                                                        "default": "default",
+                                                        "enum": [
+                                                            "default",
+                                                            "native"
+                                                        ],
+                                                        "type": "string"
+                                                    },
+                                                    "validation": {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "expression": {
+                                                                "type": "string"
+                                                            },
+                                                            "errorMessage": {
+                                                                "anyOf": [
+                                                                    {
+                                                                        "additionalProperties": false,
+                                                                        "type": "object",
+                                                                        "properties": {
+                                                                            "i18n": {
+                                                                                "type": "string",
+                                                                                "minLength": 1,
+                                                                                "maxLength": 300,
+                                                                                "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                                            }
+                                                                        },
+                                                                        "required": [
+                                                                            "i18n"
+                                                                        ]
+                                                                    },
+                                                                    {
+                                                                        "type": "string"
+                                                                    }
+                                                                ]
+                                                            },
+                                                            "errorMessage__i18n": {
+                                                                "type": "string",
+                                                                "minLength": 1,
+                                                                "maxLength": 300,
+                                                                "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "expression"
+                                                        ]
+                                                    },
+                                                    "parser": {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "expression": {
+                                                                "type": "string"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "expression"
+                                                        ]
+                                                    },
+                                                    "experience": {
+                                                        "type": "array",
+                                                        "items": {
+                                                            "type": "string",
+                                                            "enum": [
+                                                                "issue-view",
+                                                                "issue-create"
+                                                            ]
+                                                        }
+                                                    },
+                                                    "isInline": {
+                                                        "type": "boolean"
+                                                    }
+                                                }
+                                            }
+                                        ]
+                                    },
+                                    "value": {
+                                        "type": "object",
+                                        "properties": {
+                                            "function": {
+                                                "type": "string",
+                                                "minLength": 1,
+                                                "maxLength": 255,
+                                                "pattern": "^[a-zA-Z0-9-_]+$"
+                                            }
+                                        },
+                                        "required": [
+                                            "function"
+                                        ]
+                                    },
+                                    "searchSuggestions": {
+                                        "anyOf": [
+                                            {
+                                                "type": "object",
+                                                "properties": {
+                                                    "function": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 255,
+                                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "function"
+                                                ]
+                                            },
+                                            {
+                                                "type": "object",
+                                                "properties": {
+                                                    "expression": {
+                                                        "type": "string"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "expression"
+                                                ]
+                                            }
+                                        ]
+                                    },
+                                    "function": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 255,
+                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                    },
+                                    "resource": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 23,
+                                        "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                    },
+                                    "render": {
+                                        "default": "default",
+                                        "enum": [
+                                            "default",
+                                            "native"
+                                        ],
+                                        "type": "string"
+                                    },
+                                    "parser": {
+                                        "type": "object",
+                                        "properties": {
+                                            "expression": {
+                                                "type": "string"
+                                            }
+                                        },
+                                        "required": [
+                                            "expression"
+                                        ]
+                                    },
+                                    "displayConditions": {
+                                        "type": "object",
+                                        "properties": {}
+                                    },
+                                    "key": {
+                                        "$ref": "#/definitions/ModuleKeySchema"
+                                    }
+                                },
+                                "required": [
+                                    "description",
+                                    "name",
+                                    "type",
+                                    "view",
+                                    "key"
+                                ],
+                                "not": {
+                                    "required": [
+                                        "unlicensedAccess"
+                                    ]
+                                }
+                            },
+                            {
+                                "type": "object",
+                                "properties": {
                                     "formatter": {
                                         "type": "object",
                                         "properties": {
                                             "expression": {
@@ -4899,8 +5461,90 @@
                                                             }
                                                         }
                                                     }
                                                 ]
+                                            },
+                                            {
+                                                "type": "object",
+                                                "properties": {
+                                                    "resource": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 23,
+                                                        "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                                    },
+                                                    "render": {
+                                                        "default": "default",
+                                                        "enum": [
+                                                            "default",
+                                                            "native"
+                                                        ],
+                                                        "type": "string"
+                                                    },
+                                                    "validation": {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "expression": {
+                                                                "type": "string"
+                                                            },
+                                                            "errorMessage": {
+                                                                "anyOf": [
+                                                                    {
+                                                                        "additionalProperties": false,
+                                                                        "type": "object",
+                                                                        "properties": {
+                                                                            "i18n": {
+                                                                                "type": "string",
+                                                                                "minLength": 1,
+                                                                                "maxLength": 300,
+                                                                                "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                                            }
+                                                                        },
+                                                                        "required": [
+                                                                            "i18n"
+                                                                        ]
+                                                                    },
+                                                                    {
+                                                                        "type": "string"
+                                                                    }
+                                                                ]
+                                                            },
+                                                            "errorMessage__i18n": {
+                                                                "type": "string",
+                                                                "minLength": 1,
+                                                                "maxLength": 300,
+                                                                "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "expression"
+                                                        ]
+                                                    },
+                                                    "parser": {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "expression": {
+                                                                "type": "string"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "expression"
+                                                        ]
+                                                    },
+                                                    "experience": {
+                                                        "type": "array",
+                                                        "items": {
+                                                            "type": "string",
+                                                            "enum": [
+                                                                "issue-view",
+                                                                "issue-create"
+                                                            ]
+                                                        }
+                                                    },
+                                                    "isInline": {
+                                                        "type": "boolean"
+                                                    }
+                                                }
                                             }
                                         ]
                                     },
                                     "value": {
@@ -5008,21 +5652,61 @@
                         "oneOf": [
                             {
                                 "type": "object",
                                 "properties": {
-                                    "formatter": {
+                                    "view": {
                                         "type": "object",
                                         "properties": {
-                                            "expression": {
+                                            "resource": {
+                                                "type": "string",
+                                                "minLength": 1,
+                                                "maxLength": 23,
+                                                "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                            },
+                                            "render": {
+                                                "default": "default",
+                                                "enum": [
+                                                    "default",
+                                                    "native"
+                                                ],
                                                 "type": "string"
                                             },
-                                            "export": {
-                                                "type": "boolean"
+                                            "formatter": {
+                                                "type": "object",
+                                                "properties": {
+                                                    "expression": {
+                                                        "type": "string"
+                                                    },
+                                                    "export": {
+                                                        "type": "boolean"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "expression"
+                                                ]
+                                            },
+                                            "value": {
+                                                "type": "object",
+                                                "properties": {
+                                                    "function": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 255,
+                                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "function"
+                                                ]
+                                            },
+                                            "experience": {
+                                                "type": "array",
+                                                "items": {
+                                                    "type": "string",
+                                                    "const": "issue-view"
+                                                }
                                             }
-                                        },
-                                        "required": [
-                                            "expression"
-                                        ]
+                                        }
                                     },
                                     "name": {
                                         "anyOf": [
                                             {
@@ -5191,8 +5875,90 @@
                                                             }
                                                         }
                                                     }
                                                 ]
+                                            },
+                                            {
+                                                "type": "object",
+                                                "properties": {
+                                                    "resource": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 23,
+                                                        "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                                    },
+                                                    "render": {
+                                                        "default": "default",
+                                                        "enum": [
+                                                            "default",
+                                                            "native"
+                                                        ],
+                                                        "type": "string"
+                                                    },
+                                                    "validation": {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "expression": {
+                                                                "type": "string"
+                                                            },
+                                                            "errorMessage": {
+                                                                "anyOf": [
+                                                                    {
+                                                                        "additionalProperties": false,
+                                                                        "type": "object",
+                                                                        "properties": {
+                                                                            "i18n": {
+                                                                                "type": "string",
+                                                                                "minLength": 1,
+                                                                                "maxLength": 300,
+                                                                                "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                                            }
+                                                                        },
+                                                                        "required": [
+                                                                            "i18n"
+                                                                        ]
+                                                                    },
+                                                                    {
+                                                                        "type": "string"
+                                                                    }
+                                                                ]
+                                                            },
+                                                            "errorMessage__i18n": {
+                                                                "type": "string",
+                                                                "minLength": 1,
+                                                                "maxLength": 300,
+                                                                "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "expression"
+                                                        ]
+                                                    },
+                                                    "parser": {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "expression": {
+                                                                "type": "string"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "expression"
+                                                        ]
+                                                    },
+                                                    "experience": {
+                                                        "type": "array",
+                                                        "items": {
+                                                            "type": "string",
+                                                            "enum": [
+                                                                "issue-view",
+                                                                "issue-create"
+                                                            ]
+                                                        }
+                                                    },
+                                                    "isInline": {
+                                                        "type": "boolean"
+                                                    }
+                                                }
                                             }
                                         ]
                                     },
                                     "value": {
@@ -5328,8 +6094,47 @@
                                                 },
                                                 "required": [
                                                     "resource"
                                                 ]
+                                            },
+                                            {
+                                                "allOf": [
+                                                    {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "resource": {
+                                                                "type": "string",
+                                                                "minLength": 1,
+                                                                "maxLength": 23,
+                                                                "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                                            },
+                                                            "render": {
+                                                                "default": "default",
+                                                                "enum": [
+                                                                    "default",
+                                                                    "native"
+                                                                ],
+                                                                "type": "string"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "resource"
+                                                        ]
+                                                    },
+                                                    {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "layout": {
+                                                                "enum": [
+                                                                    "basic",
+                                                                    "blank",
+                                                                    "native"
+                                                                ],
+                                                                "type": "string"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
                                             }
                                         ]
                                     },
                                     "function": {
@@ -5385,8 +6190,544 @@
                             },
                             {
                                 "type": "object",
                                 "properties": {
+                                    "view": {
+                                        "type": "object",
+                                        "properties": {
+                                            "resource": {
+                                                "type": "string",
+                                                "minLength": 1,
+                                                "maxLength": 23,
+                                                "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                            },
+                                            "render": {
+                                                "default": "default",
+                                                "enum": [
+                                                    "default",
+                                                    "native"
+                                                ],
+                                                "type": "string"
+                                            },
+                                            "formatter": {
+                                                "type": "object",
+                                                "properties": {
+                                                    "expression": {
+                                                        "type": "string"
+                                                    },
+                                                    "export": {
+                                                        "type": "boolean"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "expression"
+                                                ]
+                                            },
+                                            "value": {
+                                                "type": "object",
+                                                "properties": {
+                                                    "function": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 255,
+                                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "function"
+                                                ]
+                                            },
+                                            "experience": {
+                                                "const": "issue-view",
+                                                "type": "string"
+                                            }
+                                        },
+                                        "required": [
+                                            "formatter"
+                                        ]
+                                    },
+                                    "schema": {
+                                        "type": "object",
+                                        "properties": {}
+                                    },
+                                    "name": {
+                                        "anyOf": [
+                                            {
+                                                "type": "string",
+                                                "minLength": 1,
+                                                "maxLength": 100
+                                            },
+                                            {
+                                                "additionalProperties": false,
+                                                "type": "object",
+                                                "properties": {
+                                                    "i18n": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "i18n"
+                                                ]
+                                            }
+                                        ]
+                                    },
+                                    "name__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
+                                    "description": {
+                                        "anyOf": [
+                                            {
+                                                "type": "string",
+                                                "minLength": 1,
+                                                "maxLength": 1000
+                                            },
+                                            {
+                                                "additionalProperties": false,
+                                                "type": "object",
+                                                "properties": {
+                                                    "i18n": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "i18n"
+                                                ]
+                                            }
+                                        ]
+                                    },
+                                    "description__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
+                                    "type": {
+                                        "type": "string",
+                                        "const": "object"
+                                    },
+                                    "collection": {
+                                        "enum": [
+                                            "list",
+                                            "none"
+                                        ],
+                                        "type": "string"
+                                    },
+                                    "validation": {
+                                        "type": "object",
+                                        "properties": {
+                                            "expression": {
+                                                "type": "string"
+                                            },
+                                            "errorMessage": {
+                                                "anyOf": [
+                                                    {
+                                                        "additionalProperties": false,
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "i18n": {
+                                                                "type": "string",
+                                                                "minLength": 1,
+                                                                "maxLength": 300,
+                                                                "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "i18n"
+                                                        ]
+                                                    },
+                                                    {
+                                                        "type": "string"
+                                                    }
+                                                ]
+                                            },
+                                            "errorMessage__i18n": {
+                                                "type": "string",
+                                                "minLength": 1,
+                                                "maxLength": 300,
+                                                "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                            }
+                                        },
+                                        "required": [
+                                            "expression"
+                                        ]
+                                    },
+                                    "readOnly": {
+                                        "type": "boolean"
+                                    },
+                                    "edit": {
+                                        "anyOf": [
+                                            {
+                                                "type": "object",
+                                                "properties": {
+                                                    "function": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 255,
+                                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "function"
+                                                ]
+                                            },
+                                            {
+                                                "allOf": [
+                                                    {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "resource": {
+                                                                "type": "string",
+                                                                "minLength": 1,
+                                                                "maxLength": 23,
+                                                                "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                                            },
+                                                            "render": {
+                                                                "default": "default",
+                                                                "enum": [
+                                                                    "default",
+                                                                    "native"
+                                                                ],
+                                                                "type": "string"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "resource"
+                                                        ]
+                                                    },
+                                                    {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "isInline": {
+                                                                "type": "boolean"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            {
+                                                "type": "object",
+                                                "properties": {
+                                                    "resource": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 23,
+                                                        "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                                    },
+                                                    "render": {
+                                                        "default": "default",
+                                                        "enum": [
+                                                            "default",
+                                                            "native"
+                                                        ],
+                                                        "type": "string"
+                                                    },
+                                                    "validation": {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "expression": {
+                                                                "type": "string"
+                                                            },
+                                                            "errorMessage": {
+                                                                "anyOf": [
+                                                                    {
+                                                                        "additionalProperties": false,
+                                                                        "type": "object",
+                                                                        "properties": {
+                                                                            "i18n": {
+                                                                                "type": "string",
+                                                                                "minLength": 1,
+                                                                                "maxLength": 300,
+                                                                                "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                                            }
+                                                                        },
+                                                                        "required": [
+                                                                            "i18n"
+                                                                        ]
+                                                                    },
+                                                                    {
+                                                                        "type": "string"
+                                                                    }
+                                                                ]
+                                                            },
+                                                            "errorMessage__i18n": {
+                                                                "type": "string",
+                                                                "minLength": 1,
+                                                                "maxLength": 300,
+                                                                "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "expression"
+                                                        ]
+                                                    },
+                                                    "parser": {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "expression": {
+                                                                "type": "string"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "expression"
+                                                        ]
+                                                    },
+                                                    "experience": {
+                                                        "type": "array",
+                                                        "items": {
+                                                            "type": "string",
+                                                            "enum": [
+                                                                "issue-view",
+                                                                "issue-create"
+                                                            ]
+                                                        }
+                                                    },
+                                                    "isInline": {
+                                                        "type": "boolean"
+                                                    }
+                                                }
+                                            }
+                                        ]
+                                    },
+                                    "value": {
+                                        "type": "object",
+                                        "properties": {
+                                            "function": {
+                                                "type": "string",
+                                                "minLength": 1,
+                                                "maxLength": 255,
+                                                "pattern": "^[a-zA-Z0-9-_]+$"
+                                            }
+                                        },
+                                        "required": [
+                                            "function"
+                                        ]
+                                    },
+                                    "searchSuggestions": {
+                                        "anyOf": [
+                                            {
+                                                "type": "object",
+                                                "properties": {
+                                                    "function": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 255,
+                                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "function"
+                                                ]
+                                            },
+                                            {
+                                                "type": "object",
+                                                "properties": {
+                                                    "expression": {
+                                                        "type": "string"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "expression"
+                                                ]
+                                            }
+                                        ]
+                                    },
+                                    "icon": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 255
+                                    },
+                                    "resolver": {
+                                        "anyOf": [
+                                            {
+                                                "additionalProperties": false,
+                                                "type": "object",
+                                                "properties": {
+                                                    "function": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 255,
+                                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "function"
+                                                ]
+                                            },
+                                            {
+                                                "additionalProperties": false,
+                                                "type": "object",
+                                                "properties": {
+                                                    "endpoint": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 255,
+                                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "endpoint"
+                                                ]
+                                            }
+                                        ]
+                                    },
+                                    "contextConfig": {
+                                        "anyOf": [
+                                            {
+                                                "type": "object",
+                                                "properties": {
+                                                    "function": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 255,
+                                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                                    },
+                                                    "layout": {
+                                                        "enum": [
+                                                            "basic",
+                                                            "native"
+                                                        ],
+                                                        "type": "string"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "function"
+                                                ]
+                                            },
+                                            {
+                                                "type": "object",
+                                                "properties": {
+                                                    "resource": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 23,
+                                                        "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                                    },
+                                                    "layout": {
+                                                        "enum": [
+                                                            "basic",
+                                                            "blank",
+                                                            "native"
+                                                        ],
+                                                        "type": "string"
+                                                    },
+                                                    "render": {
+                                                        "default": "default",
+                                                        "enum": [
+                                                            "default",
+                                                            "native"
+                                                        ],
+                                                        "type": "string"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "resource"
+                                                ]
+                                            },
+                                            {
+                                                "allOf": [
+                                                    {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "resource": {
+                                                                "type": "string",
+                                                                "minLength": 1,
+                                                                "maxLength": 23,
+                                                                "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                                            },
+                                                            "render": {
+                                                                "default": "default",
+                                                                "enum": [
+                                                                    "default",
+                                                                    "native"
+                                                                ],
+                                                                "type": "string"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "resource"
+                                                        ]
+                                                    },
+                                                    {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "layout": {
+                                                                "enum": [
+                                                                    "basic",
+                                                                    "blank",
+                                                                    "native"
+                                                                ],
+                                                                "type": "string"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    },
+                                    "function": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 255,
+                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                    },
+                                    "resource": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 23,
+                                        "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                    },
+                                    "render": {
+                                        "default": "default",
+                                        "enum": [
+                                            "default",
+                                            "native"
+                                        ],
+                                        "type": "string"
+                                    },
+                                    "parser": {
+                                        "type": "object",
+                                        "properties": {
+                                            "expression": {
+                                                "type": "string"
+                                            }
+                                        },
+                                        "required": [
+                                            "expression"
+                                        ]
+                                    },
+                                    "displayConditions": {
+                                        "type": "object",
+                                        "properties": {}
+                                    },
+                                    "key": {
+                                        "$ref": "#/definitions/ModuleKeySchema"
+                                    }
+                                },
+                                "required": [
+                                    "description",
+                                    "name",
+                                    "type",
+                                    "view",
+                                    "key"
+                                ],
+                                "not": {
+                                    "required": [
+                                        "unlicensedAccess"
+                                    ]
+                                }
+                            },
+                            {
+                                "type": "object",
+                                "properties": {
                                     "formatter": {
                                         "type": "object",
                                         "properties": {
                                             "expression": {
@@ -5565,8 +6906,90 @@
                                                             }
                                                         }
                                                     }
                                                 ]
+                                            },
+                                            {
+                                                "type": "object",
+                                                "properties": {
+                                                    "resource": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 23,
+                                                        "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                                    },
+                                                    "render": {
+                                                        "default": "default",
+                                                        "enum": [
+                                                            "default",
+                                                            "native"
+                                                        ],
+                                                        "type": "string"
+                                                    },
+                                                    "validation": {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "expression": {
+                                                                "type": "string"
+                                                            },
+                                                            "errorMessage": {
+                                                                "anyOf": [
+                                                                    {
+                                                                        "additionalProperties": false,
+                                                                        "type": "object",
+                                                                        "properties": {
+                                                                            "i18n": {
+                                                                                "type": "string",
+                                                                                "minLength": 1,
+                                                                                "maxLength": 300,
+                                                                                "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                                            }
+                                                                        },
+                                                                        "required": [
+                                                                            "i18n"
+                                                                        ]
+                                                                    },
+                                                                    {
+                                                                        "type": "string"
+                                                                    }
+                                                                ]
+                                                            },
+                                                            "errorMessage__i18n": {
+                                                                "type": "string",
+                                                                "minLength": 1,
+                                                                "maxLength": 300,
+                                                                "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "expression"
+                                                        ]
+                                                    },
+                                                    "parser": {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "expression": {
+                                                                "type": "string"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "expression"
+                                                        ]
+                                                    },
+                                                    "experience": {
+                                                        "type": "array",
+                                                        "items": {
+                                                            "type": "string",
+                                                            "enum": [
+                                                                "issue-view",
+                                                                "issue-create"
+                                                            ]
+                                                        }
+                                                    },
+                                                    "isInline": {
+                                                        "type": "boolean"
+                                                    }
+                                                }
                                             }
                                         ]
                                     },
                                     "value": {
@@ -5702,8 +7125,47 @@
                                                 },
                                                 "required": [
                                                     "resource"
                                                 ]
+                                            },
+                                            {
+                                                "allOf": [
+                                                    {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "resource": {
+                                                                "type": "string",
+                                                                "minLength": 1,
+                                                                "maxLength": 23,
+                                                                "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                                            },
+                                                            "render": {
+                                                                "default": "default",
+                                                                "enum": [
+                                                                    "default",
+                                                                    "native"
+                                                                ],
+                                                                "type": "string"
+                                                            }
+                                                        },
+                                                        "required": [
+                                                            "resource"
+                                                        ]
+                                                    },
+                                                    {
+                                                        "type": "object",
+                                                        "properties": {
+                                                            "layout": {
+                                                                "enum": [
+                                                                    "basic",
+                                                                    "blank",
+                                                                    "native"
+                                                                ],
+                                                                "type": "string"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
                                             }
                                         ]
                                     },
                                     "function": {
@@ -10898,9 +12360,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -10912,8 +12375,14 @@
                                                 "maxLength": 255
                                             }
                                         ]
                                     },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "icon": {
                                         "type": "string",
                                         "minLength": 1,
                                         "maxLength": 255
@@ -10959,9 +12428,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -10973,8 +12443,14 @@
                                                 "maxLength": 255
                                             }
                                         ]
                                     },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "icon": {
                                         "type": "string",
                                         "minLength": 1,
                                         "maxLength": 255
@@ -11076,9 +12552,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -11090,8 +12567,14 @@
                                                 "maxLength": 255
                                             }
                                         ]
                                     },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "icon": {
                                         "type": "string",
                                         "minLength": 1,
                                         "maxLength": 255
@@ -11143,9 +12626,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -11157,8 +12641,14 @@
                                                 "maxLength": 255
                                             }
                                         ]
                                     },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "icon": {
                                         "type": "string",
                                         "minLength": 1,
                                         "maxLength": 255
@@ -11254,9 +12744,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -11268,8 +12759,14 @@
                                                 "maxLength": 255
                                             }
                                         ]
                                     },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "icon": {
                                         "type": "string",
                                         "minLength": 1,
                                         "maxLength": 255
@@ -11321,9 +12818,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -11335,8 +12833,14 @@
                                                 "maxLength": 255
                                             }
                                         ]
                                     },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "icon": {
                                         "type": "string",
                                         "minLength": 1,
                                         "maxLength": 255
@@ -11432,9 +12936,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -11446,8 +12951,14 @@
                                                 "maxLength": 255
                                             }
                                         ]
                                     },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "icon": {
                                         "type": "string",
                                         "minLength": 1,
                                         "maxLength": 255
@@ -11493,9 +13004,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -11507,8 +13019,14 @@
                                                 "maxLength": 255
                                             }
                                         ]
                                     },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "icon": {
                                         "type": "string",
                                         "minLength": 1,
                                         "maxLength": 255
@@ -12064,9 +13582,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -12078,8 +13597,14 @@
                                                 "maxLength": 255
                                             }
                                         ]
                                     },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "icon": {
                                         "type": "string",
                                         "minLength": 1,
                                         "maxLength": 255
@@ -12120,9 +13645,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -12134,8 +13660,14 @@
                                                 "maxLength": 255
                                             }
                                         ]
                                     },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "icon": {
                                         "type": "string",
                                         "minLength": 1,
                                         "maxLength": 255
@@ -12237,9 +13769,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -12251,8 +13784,14 @@
                                                 "maxLength": 255
                                             }
                                         ]
                                     },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "function": {
                                         "type": "string",
                                         "minLength": 1,
                                         "maxLength": 255,
@@ -12283,9 +13822,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -12297,8 +13837,14 @@
                                                 "maxLength": 255
                                             }
                                         ]
                                     },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "resolver": {
                                         "anyOf": [
                                             {
                                                 "additionalProperties": false,
@@ -12395,9 +13941,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -12409,8 +13956,14 @@
                                                 "maxLength": 255
                                             }
                                         ]
                                     },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "function": {
                                         "type": "string",
                                         "minLength": 1,
                                         "maxLength": 255,
@@ -12437,9 +13990,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -12451,8 +14005,14 @@
                                                 "maxLength": 255
                                             }
                                         ]
                                     },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "resolver": {
                                         "anyOf": [
                                             {
                                                 "additionalProperties": false,
@@ -12549,9 +14109,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -12563,8 +14124,14 @@
                                                 "maxLength": 255
                                             }
                                         ]
                                     },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "icon": {
                                         "type": "string",
                                         "minLength": 1,
                                         "maxLength": 255
@@ -12627,9 +14194,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -12641,8 +14209,14 @@
                                                 "maxLength": 255
                                             }
                                         ]
                                     },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "icon": {
                                         "type": "string",
                                         "minLength": 1,
                                         "maxLength": 255
@@ -12742,9 +14316,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -12756,8 +14331,14 @@
                                                 "maxLength": 255
                                             }
                                         ]
                                     },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "description": {
                                         "oneOf": [
                                             {
                                                 "type": "object",
@@ -12765,9 +14346,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -12779,8 +14361,14 @@
                                                 "maxLength": 1000
                                             }
                                         ]
                                     },
+                                    "description__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "icon": {
                                         "type": "string",
                                         "minLength": 1,
                                         "maxLength": 255
@@ -12894,9 +14482,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -12908,8 +14497,14 @@
                                                 "maxLength": 255
                                             }
                                         ]
                                     },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "description": {
                                         "oneOf": [
                                             {
                                                 "type": "object",
@@ -12917,9 +14512,10 @@
                                                 "properties": {
                                                     "i18n": {
                                                         "type": "string",
                                                         "minLength": 1,
-                                                        "maxLength": 300
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
                                                     }
                                                 },
                                                 "required": [
                                                     "i18n"
@@ -12931,8 +14527,14 @@
                                                 "maxLength": 1000
                                             }
                                         ]
                                     },
+                                    "description__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
                                     "icon": {
                                         "type": "string",
                                         "minLength": 1,
                                         "maxLength": 255