<commit_before>module.exports = {
  type: 'object',
  properties: {
    id: { type: 'string' },
    correlationId: { type: 'string' },
    tags: {
      type: 'array',
      items: {
        type: 'string'
      }
    },
    topics: {
      type: 'object',
      properties: {
        to: { $ref: '#/definitions/topic' },
        ack: { $ref: '#/definitions/topic' },
        response: { $ref: '#/definitions/topic' }
      },
      required: ['to']
    },
    meta: {
      type: 'object',
      properties: {
        ttl: { type: ['integer', 'null'] },
        createdAt: { type: 'string', format: 'date-time' },
        publishedAt: { type: 'string', format: 'date-time' },
        durationMs: { type: ['number', 'null'] },
        serviceDetails: { $ref: '#/definitions/serviceDetails' }
      },
      required: ['createdAt']
    }
  },
  required: ['id', 'correlationId', 'meta', 'ack', 'payload'],
  definitions: {
    topic: {
      type: 'string',
      pattern: '^_?([a-z0-9\-]+\:)+([a-z0-9\-]+)$'
    },
    serviceDetails: {
      type: 'object',
      properties: {
        instanceId: { type: 'string' },
        hostname: { type: 'string' },
        ip: {
          type: 'string',
          pattern: '^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'
        },
        pid: { type: 'integer' },
        name: { type: 'string' },
        version: { type: 'string' }
      },
      required: ['name', 'version']
    }
  }
};<commit_msg>Relax required fields (Fixes #35)<commit_after>module.exports = {
  type: 'object',
  properties: {
    id: { type: 'string' },
    correlationId: { type: 'string' },
    tags: {
      type: 'array',
      items: {
        type: 'string'
      }
    },
    topics: {
      type: 'object',
      properties: {
        to: { $ref: '#/definitions/topic' },
        ack: { $ref: '#/definitions/topic' },
        response: { $ref: '#/definitions/topic' }
      },
      required: ['to']
    },
    meta: {
      type: 'object',
      properties: {
        ttl: { type: ['integer', 'null'] },
        createdAt: { type: 'string', format: 'date-time' },
        publishedAt: { type: 'string', format: 'date-time' },
        durationMs: { type: ['number', 'null'] },
        serviceDetails: { $ref: '#/definitions/serviceDetails' }
      },
      required: ['createdAt']
    }
  },
  required: ['id', 'correlationId', 'meta'],
  definitions: {
    topic: {
      type: 'string',
      pattern: '^_?([a-z0-9\-]+\:)+([a-z0-9\-]+)$'
    },
    serviceDetails: {
      type: 'object',
      properties: {
        instanceId: { type: 'string' },
        hostname: { type: 'string' },
        ip: {
          type: 'string',
          pattern: '^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'
        },
        pid: { type: 'integer' },
        name: { type: 'string' },
        version: { type: 'string' }
      },
      required: ['name', 'version']
    }
  }
};
{'fraction_non_alphanumeric': 0.23110367892976588, 'fraction_numerical': 0.024080267558528427, 'mean_word_length': 2.012084592145015, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4243212', 'n_tokens_mistral': 1093, 'n_tokens_neox': 1084, 'n_words': 196}