const versions = {
  0: ({ acks, timeout, topicData }) => {
    const request = require('./v0/request')
    const response = require('./v0/response')
    return { request: request({ acks, timeout, topicData }), response }
  },
  1: ({ acks, timeout, topicData }) => {
    const request = require('./v1/request')
    const response = require('./v1/response')
    return { request: request({ acks, timeout, topicData }), response }
  },
  2: ({ acks, timeout, topicData, compression }) => {
    const request = require('./v2/request')
    const response = require('./v2/response')
    return { request: request({ acks, timeout, compression, topicData }), response }
  },
}

module.exports = {
  versions: Object.keys(versions),
  protocol: ({ version }) => versions[version],
}

@@ -662,16 +662,308 @@
  %7D%0A  %7D,%0A
+  3: (%7B transactionalId = null, acks, timeout, compression, topicData %7D) =%3E %7B%0A    const request = require('./v3/request')%0A    const response = require('./v3/response')%0A    return %7B%0A      request: request(%7B transactionalId, acks, timeout, compression, topicData %7D),%0A      response,%0A    %7D%0A  %7D,%0A
 %7D%0A%0Amodul

Enable protocol produce v3