- add serverlessFunction schema in twenty-cli - add trigger schema in twenty-cli - update serverless function code save and get - sync serverless function
79 lines
2.2 KiB
JSON
79 lines
2.2 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-cli/schemas/object.schema.json",
|
|
"title": "Twenty Object Manifest",
|
|
"description": "Schema for Twenty AI object configuration files",
|
|
"type": "object",
|
|
"required": [
|
|
"standardId",
|
|
"universalIdentifier",
|
|
"nameSingular",
|
|
"namePlural",
|
|
"labelSingular",
|
|
"labelPlural"
|
|
],
|
|
"properties": {
|
|
"$schema": {
|
|
"type": "string",
|
|
"description": "JSON Schema reference for validation and IDE support"
|
|
},
|
|
"universalIdentifier": {
|
|
"type": "string",
|
|
"description": "Unique identifier (UUID format recommended)",
|
|
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
|
|
},
|
|
"standardId": {
|
|
"const": { "$data": "1/universalIdentifier" },
|
|
"description": "Should be the same as universalIdentifier"
|
|
},
|
|
"nameSingular": {
|
|
"type": "string",
|
|
"description": "Name singular for the object",
|
|
"pattern": "^[a-zA-Z][a-zA-Z0-9]*$",
|
|
"minLength": 1,
|
|
"maxLength": 100
|
|
},
|
|
"namePlural": {
|
|
"type": "string",
|
|
"description": "Name plural for the object",
|
|
"pattern": "^[a-zA-Z][a-zA-Z0-9]*$",
|
|
"minLength": 1,
|
|
"maxLength": 100
|
|
},
|
|
"labelSingular": {
|
|
"type": "string",
|
|
"description": "Human-readable display name singular for the object",
|
|
"minLength": 1,
|
|
"maxLength": 200
|
|
},
|
|
"labelPlural": {
|
|
"type": "string",
|
|
"description": "Human-readable display name singular for the object",
|
|
"minLength": 1,
|
|
"maxLength": 200
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "Brief description of the object",
|
|
"maxLength": 500
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Icon for the object (emoji or icon name)",
|
|
"maxLength": 50
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"examples": [
|
|
{
|
|
"standardId": "550e8400-e29b-41d4-a716-446655440001",
|
|
"nameSingular": "object",
|
|
"namePlural": "objects",
|
|
"labelSingular": "Object",
|
|
"labelPlural": "Objects",
|
|
"description": "Object description",
|
|
"icon": "🎧"
|
|
}
|
|
]
|
|
}
|