socialDB Rust to Typescript

{
    "$schema": "<http://json-schema.org/draft-07/schema#>",
    "title": "Hyperfiles",
    "description": "Hyperfiles Meta-Schema for NEAR Social Entities and Actions",
    "type": "object",
    "properties": {
      "entities": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "entityName": {
              "type": "string",
              "description": "Unique identifier or name for the entity."
            },
            "image": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "format": "uri"
                },
                "ipfs_cid": {
                  "type": "string"
                }
              },
              "required": ["url"]
            },
            "description": {
              "type": "string"
            },
            "tags": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "metadata": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "fields": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "fieldName": {
                        "type": "string"
                      },
                      "fieldType": {
                        "type": "string",
                        "description": "Type of the field, can be a complex type or a primitive type."
                      }
                    }
                  }
                }
              }
            },
            "accounts": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "links": {
              "type": "object",
              "additionalProperties": {
                "type": "string",
                "format": "uri"
              }
            }
          },
          "required": ["entityName"]
        }
      },
      "actions": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "actionType": {
              "type": "string",
              "description": "Type of action, such as 'like', 'follow', etc."
            },
            "target": {
              "type": "string",
              "description": "Target entity of the action."
            }
          },
          "required": ["actionType", "target"]
        }
      }
    },
    "required": ["entities", "actions"]
  }