{"version":3,"sources":["../src/clients/protos/common_pb.js","../src/clients/protos/talk-api_pb.js","../src/clients/protos/assistant-deployment_pb.js","../src/clients/protos/assistant-tool_pb.js","../src/clients/protos/assistant-analysis_pb.js","../src/clients/protos/assistant-webhook_pb.js","../src/clients/protos/assistant-knowledge_pb.js","../src/clients/protos/assistant-api_pb.js","../src/utils/rapida_content.ts","../src/agents/message.ts","../src/channels/index.ts","../src/connections/connection-state.ts","../src/utils/rapida_header.ts","../src/clients/index.ts","../src/utils/rapida_region.ts","../src/clients/talk.ts","../src/agents/feedback.ts","../src/clients/assistant.ts","../src/utils/rapida_source.ts","../src/agents/agent-deployment.ts","../src/constants/index.ts","../src/utils/rapida_client.ts","../src/utils/index.ts","../src/devices/device-manager.ts","../src/agents/voice-agent.ts","../src/agents/index.ts","../src/audio/create-worklet-module-loader.ts","../src/audio/raw-audio-processor.ts","../src/audio/input.ts","../src/audio/audio-concat-processor.ts","../src/audio/output.ts","../src/audio/compatibility.ts","../src/audio/audio.ts","../src/hooks/use-voice-agent.ts","../src/hooks/observables/voice-agent.ts"],"sourcesContent":["// source: common.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js');\ngoog.object.extend(proto, google_protobuf_struct_pb);\ngoog.exportSymbol('proto.Argument', null, global);\ngoog.exportSymbol('proto.AssistantConversation', null, global);\ngoog.exportSymbol('proto.AssistantConversationContext', null, global);\ngoog.exportSymbol('proto.AssistantConversationMessage', null, global);\ngoog.exportSymbol('proto.AssistantMessageStage', null, global);\ngoog.exportSymbol('proto.BaseResponse', null, global);\ngoog.exportSymbol('proto.Content', null, global);\ngoog.exportSymbol('proto.Criteria', null, global);\ngoog.exportSymbol('proto.Error', null, global);\ngoog.exportSymbol('proto.FieldSelector', null, global);\ngoog.exportSymbol('proto.FunctionCall', null, global);\ngoog.exportSymbol('proto.GetAllAssistantConversationRequest', null, global);\ngoog.exportSymbol('proto.GetAllAssistantConversationResponse', null, global);\ngoog.exportSymbol('proto.GetAllConversationMessageRequest', null, global);\ngoog.exportSymbol('proto.GetAllConversationMessageResponse', null, global);\ngoog.exportSymbol('proto.Knowledge', null, global);\ngoog.exportSymbol('proto.Message', null, global);\ngoog.exportSymbol('proto.Metadata', null, global);\ngoog.exportSymbol('proto.Metric', null, global);\ngoog.exportSymbol('proto.Ordering', null, global);\ngoog.exportSymbol('proto.Organization', null, global);\ngoog.exportSymbol('proto.Paginate', null, global);\ngoog.exportSymbol('proto.Paginated', null, global);\ngoog.exportSymbol('proto.Provider', null, global);\ngoog.exportSymbol('proto.Source', null, global);\ngoog.exportSymbol('proto.Tag', null, global);\ngoog.exportSymbol('proto.TextChatCompletePrompt', null, global);\ngoog.exportSymbol('proto.TextPrompt', null, global);\ngoog.exportSymbol('proto.ToolCall', null, global);\ngoog.exportSymbol('proto.User', null, global);\ngoog.exportSymbol('proto.Variable', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.FieldSelector = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.FieldSelector, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.FieldSelector.displayName = 'proto.FieldSelector';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.Criteria = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.Criteria, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.Criteria.displayName = 'proto.Criteria';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.Error = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.Error, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.Error.displayName = 'proto.Error';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.Paginate = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.Paginate, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.Paginate.displayName = 'proto.Paginate';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.Paginated = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.Paginated, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.Paginated.displayName = 'proto.Paginated';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.Ordering = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.Ordering, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.Ordering.displayName = 'proto.Ordering';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.User = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.User, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.User.displayName = 'proto.User';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.BaseResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.BaseResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.BaseResponse.displayName = 'proto.BaseResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.Metadata = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.Metadata, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.Metadata.displayName = 'proto.Metadata';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.Argument = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.Argument, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.Argument.displayName = 'proto.Argument';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.Variable = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.Variable, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.Variable.displayName = 'proto.Variable';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.Provider = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.Provider.repeatedFields_, null);\n};\ngoog.inherits(proto.Provider, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.Provider.displayName = 'proto.Provider';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.Tag = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.Tag.repeatedFields_, null);\n};\ngoog.inherits(proto.Tag, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.Tag.displayName = 'proto.Tag';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.Organization = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.Organization, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.Organization.displayName = 'proto.Organization';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.Metric = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.Metric, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.Metric.displayName = 'proto.Metric';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.Content = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.Content, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.Content.displayName = 'proto.Content';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.Message = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.Message.repeatedFields_, null);\n};\ngoog.inherits(proto.Message, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.Message.displayName = 'proto.Message';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ToolCall = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ToolCall, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.ToolCall.displayName = 'proto.ToolCall';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.FunctionCall = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.FunctionCall, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.FunctionCall.displayName = 'proto.FunctionCall';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.Knowledge = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.Knowledge.repeatedFields_, null);\n};\ngoog.inherits(proto.Knowledge, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.Knowledge.displayName = 'proto.Knowledge';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.TextPrompt = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.TextPrompt, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.TextPrompt.displayName = 'proto.TextPrompt';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.TextChatCompletePrompt = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.TextChatCompletePrompt.repeatedFields_, null);\n};\ngoog.inherits(proto.TextChatCompletePrompt, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.TextChatCompletePrompt.displayName = 'proto.TextChatCompletePrompt';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.AssistantMessageStage = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.AssistantMessageStage, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.AssistantMessageStage.displayName = 'proto.AssistantMessageStage';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.AssistantConversationMessage = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.AssistantConversationMessage.repeatedFields_, null);\n};\ngoog.inherits(proto.AssistantConversationMessage, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.AssistantConversationMessage.displayName = 'proto.AssistantConversationMessage';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.AssistantConversationContext = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.AssistantConversationContext, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.AssistantConversationContext.displayName = 'proto.AssistantConversationContext';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.AssistantConversation = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.AssistantConversation.repeatedFields_, null);\n};\ngoog.inherits(proto.AssistantConversation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.AssistantConversation.displayName = 'proto.AssistantConversation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.GetAllAssistantConversationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.GetAllAssistantConversationRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.GetAllAssistantConversationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.GetAllAssistantConversationRequest.displayName = 'proto.GetAllAssistantConversationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.GetAllAssistantConversationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.GetAllAssistantConversationResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.GetAllAssistantConversationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.GetAllAssistantConversationResponse.displayName = 'proto.GetAllAssistantConversationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.GetAllConversationMessageRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.GetAllConversationMessageRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.GetAllConversationMessageRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.GetAllConversationMessageRequest.displayName = 'proto.GetAllConversationMessageRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.GetAllConversationMessageResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.GetAllConversationMessageResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.GetAllConversationMessageResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.GetAllConversationMessageResponse.displayName = 'proto.GetAllConversationMessageResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.FieldSelector.prototype.toObject = function(opt_includeInstance) {\n  return proto.FieldSelector.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.FieldSelector} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.FieldSelector.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    field: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.FieldSelector}\n */\nproto.FieldSelector.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.FieldSelector;\n  return proto.FieldSelector.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.FieldSelector} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.FieldSelector}\n */\nproto.FieldSelector.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setField(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.FieldSelector.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.FieldSelector.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.FieldSelector} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.FieldSelector.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getField();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string field = 1;\n * @return {string}\n */\nproto.FieldSelector.prototype.getField = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.FieldSelector} returns this\n */\nproto.FieldSelector.prototype.setField = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.Criteria.prototype.toObject = function(opt_includeInstance) {\n  return proto.Criteria.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.Criteria} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Criteria.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    key: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    value: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    logic: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.Criteria}\n */\nproto.Criteria.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.Criteria;\n  return proto.Criteria.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.Criteria} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.Criteria}\n */\nproto.Criteria.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setKey(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setValue(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLogic(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.Criteria.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.Criteria.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.Criteria} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Criteria.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getKey();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getValue();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getLogic();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string key = 1;\n * @return {string}\n */\nproto.Criteria.prototype.getKey = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Criteria} returns this\n */\nproto.Criteria.prototype.setKey = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string value = 2;\n * @return {string}\n */\nproto.Criteria.prototype.getValue = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Criteria} returns this\n */\nproto.Criteria.prototype.setValue = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string logic = 3;\n * @return {string}\n */\nproto.Criteria.prototype.getLogic = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Criteria} returns this\n */\nproto.Criteria.prototype.setLogic = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.Error.prototype.toObject = function(opt_includeInstance) {\n  return proto.Error.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.Error} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Error.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    errorcode: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    errormessage: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    humanmessage: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.Error}\n */\nproto.Error.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.Error;\n  return proto.Error.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.Error} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.Error}\n */\nproto.Error.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setErrorcode(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setErrormessage(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHumanmessage(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.Error.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.Error.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.Error} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Error.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getErrorcode();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getErrormessage();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getHumanmessage();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 errorCode = 1;\n * @return {string}\n */\nproto.Error.prototype.getErrorcode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Error} returns this\n */\nproto.Error.prototype.setErrorcode = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string errorMessage = 2;\n * @return {string}\n */\nproto.Error.prototype.getErrormessage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Error} returns this\n */\nproto.Error.prototype.setErrormessage = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string humanMessage = 3;\n * @return {string}\n */\nproto.Error.prototype.getHumanmessage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Error} returns this\n */\nproto.Error.prototype.setHumanmessage = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.Paginate.prototype.toObject = function(opt_includeInstance) {\n  return proto.Paginate.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.Paginate} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Paginate.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    page: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    pagesize: jspb.Message.getFieldWithDefault(msg, 2, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.Paginate}\n */\nproto.Paginate.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.Paginate;\n  return proto.Paginate.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.Paginate} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.Paginate}\n */\nproto.Paginate.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setPage(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setPagesize(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.Paginate.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.Paginate.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.Paginate} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Paginate.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPage();\n  if (f !== 0) {\n    writer.writeUint32(\n      1,\n      f\n    );\n  }\n  f = message.getPagesize();\n  if (f !== 0) {\n    writer.writeUint32(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint32 page = 1;\n * @return {number}\n */\nproto.Paginate.prototype.getPage = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.Paginate} returns this\n */\nproto.Paginate.prototype.setPage = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional uint32 pageSize = 2;\n * @return {number}\n */\nproto.Paginate.prototype.getPagesize = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.Paginate} returns this\n */\nproto.Paginate.prototype.setPagesize = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.Paginated.prototype.toObject = function(opt_includeInstance) {\n  return proto.Paginated.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.Paginated} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Paginated.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    currentpage: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    totalitem: jspb.Message.getFieldWithDefault(msg, 2, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.Paginated}\n */\nproto.Paginated.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.Paginated;\n  return proto.Paginated.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.Paginated} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.Paginated}\n */\nproto.Paginated.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setCurrentpage(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setTotalitem(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.Paginated.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.Paginated.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.Paginated} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Paginated.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCurrentpage();\n  if (f !== 0) {\n    writer.writeUint32(\n      1,\n      f\n    );\n  }\n  f = message.getTotalitem();\n  if (f !== 0) {\n    writer.writeUint32(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint32 currentPage = 1;\n * @return {number}\n */\nproto.Paginated.prototype.getCurrentpage = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.Paginated} returns this\n */\nproto.Paginated.prototype.setCurrentpage = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional uint32 totalItem = 2;\n * @return {number}\n */\nproto.Paginated.prototype.getTotalitem = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.Paginated} returns this\n */\nproto.Paginated.prototype.setTotalitem = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.Ordering.prototype.toObject = function(opt_includeInstance) {\n  return proto.Ordering.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.Ordering} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Ordering.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    column: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    order: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.Ordering}\n */\nproto.Ordering.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.Ordering;\n  return proto.Ordering.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.Ordering} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.Ordering}\n */\nproto.Ordering.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setColumn(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrder(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.Ordering.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.Ordering.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.Ordering} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Ordering.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getColumn();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getOrder();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string column = 1;\n * @return {string}\n */\nproto.Ordering.prototype.getColumn = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Ordering} returns this\n */\nproto.Ordering.prototype.setColumn = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string order = 2;\n * @return {string}\n */\nproto.Ordering.prototype.getOrder = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Ordering} returns this\n */\nproto.Ordering.prototype.setOrder = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.User.prototype.toObject = function(opt_includeInstance) {\n  return proto.User.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.User} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.User.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    email: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    role: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    status: jspb.Message.getFieldWithDefault(msg, 5, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.User}\n */\nproto.User.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.User;\n  return proto.User.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.User} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.User}\n */\nproto.User.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmail(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRole(value);\n      break;\n    case 6:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.User.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.User.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.User} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.User.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getEmail();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getRole();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      6,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.User.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.User} returns this\n */\nproto.User.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.User.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.User} returns this\n */\nproto.User.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string email = 3;\n * @return {string}\n */\nproto.User.prototype.getEmail = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.User} returns this\n */\nproto.User.prototype.setEmail = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string role = 4;\n * @return {string}\n */\nproto.User.prototype.getRole = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.User} returns this\n */\nproto.User.prototype.setRole = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 6;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.User.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 6));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.User} returns this\n*/\nproto.User.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 6, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.User} returns this\n */\nproto.User.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.User.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * optional string status = 5;\n * @return {string}\n */\nproto.User.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.User} returns this\n */\nproto.User.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.BaseResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.BaseResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.BaseResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.BaseResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataMap: (f = msg.getDataMap()) ? f.toObject(includeInstance, undefined) : [],\n    error: (f = msg.getError()) && proto.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.BaseResponse}\n */\nproto.BaseResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.BaseResponse;\n  return proto.BaseResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.BaseResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.BaseResponse}\n */\nproto.BaseResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = msg.getDataMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 4:\n      var value = new proto.Error;\n      reader.readMessage(value,proto.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.BaseResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.BaseResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.BaseResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.BaseResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(3, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.BaseResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.BaseResponse} returns this\n */\nproto.BaseResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.BaseResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.BaseResponse} returns this\n */\nproto.BaseResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * map<string, string> data = 3;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.BaseResponse.prototype.getDataMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 3, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.BaseResponse} returns this\n */\nproto.BaseResponse.prototype.clearDataMap = function() {\n  this.getDataMap().clear();\n  return this;};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.BaseResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, proto.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.BaseResponse} returns this\n*/\nproto.BaseResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.BaseResponse} returns this\n */\nproto.BaseResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.BaseResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.Metadata.prototype.toObject = function(opt_includeInstance) {\n  return proto.Metadata.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.Metadata} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Metadata.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    key: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    value: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.Metadata}\n */\nproto.Metadata.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.Metadata;\n  return proto.Metadata.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.Metadata} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.Metadata}\n */\nproto.Metadata.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setKey(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setValue(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.Metadata.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.Metadata.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.Metadata} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Metadata.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getKey();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getValue();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.Metadata.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Metadata} returns this\n */\nproto.Metadata.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string key = 2;\n * @return {string}\n */\nproto.Metadata.prototype.getKey = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Metadata} returns this\n */\nproto.Metadata.prototype.setKey = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string value = 3;\n * @return {string}\n */\nproto.Metadata.prototype.getValue = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Metadata} returns this\n */\nproto.Metadata.prototype.setValue = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.Argument.prototype.toObject = function(opt_includeInstance) {\n  return proto.Argument.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.Argument} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Argument.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    value: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.Argument}\n */\nproto.Argument.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.Argument;\n  return proto.Argument.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.Argument} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.Argument}\n */\nproto.Argument.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setValue(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.Argument.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.Argument.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.Argument} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Argument.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getValue();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.Argument.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Argument} returns this\n */\nproto.Argument.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.Argument.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Argument} returns this\n */\nproto.Argument.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string value = 3;\n * @return {string}\n */\nproto.Argument.prototype.getValue = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Argument} returns this\n */\nproto.Argument.prototype.setValue = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.Variable.prototype.toObject = function(opt_includeInstance) {\n  return proto.Variable.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.Variable} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Variable.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    type: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    defaultvalue: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.Variable}\n */\nproto.Variable.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.Variable;\n  return proto.Variable.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.Variable} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.Variable}\n */\nproto.Variable.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setType(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDefaultvalue(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.Variable.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.Variable.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.Variable} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Variable.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getType();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 4));\n  if (f != null) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.Variable.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Variable} returns this\n */\nproto.Variable.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.Variable.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Variable} returns this\n */\nproto.Variable.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string type = 3;\n * @return {string}\n */\nproto.Variable.prototype.getType = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Variable} returns this\n */\nproto.Variable.prototype.setType = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string defaultValue = 4;\n * @return {string}\n */\nproto.Variable.prototype.getDefaultvalue = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Variable} returns this\n */\nproto.Variable.prototype.setDefaultvalue = function(value) {\n  return jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.Variable} returns this\n */\nproto.Variable.prototype.clearDefaultvalue = function() {\n  return jspb.Message.setField(this, 4, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.Variable.prototype.hasDefaultvalue = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.Provider.repeatedFields_ = [9];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.Provider.prototype.toObject = function(opt_includeInstance) {\n  return proto.Provider.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.Provider} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Provider.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    humanname: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    image: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    website: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    status: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    connectconfigurationList: jspb.Message.toObjectList(msg.getConnectconfigurationList(),\n    proto.Variable.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.Provider}\n */\nproto.Provider.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.Provider;\n  return proto.Provider.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.Provider} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.Provider}\n */\nproto.Provider.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHumanname(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setImage(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setWebsite(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 9:\n      var value = new proto.Variable;\n      reader.readMessage(value,proto.Variable.deserializeBinaryFromReader);\n      msg.addConnectconfiguration(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.Provider.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.Provider.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.Provider} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Provider.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getHumanname();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getImage();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getWebsite();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getConnectconfigurationList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      9,\n      f,\n      proto.Variable.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.Provider.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Provider} returns this\n */\nproto.Provider.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.Provider.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Provider} returns this\n */\nproto.Provider.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.Provider.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Provider} returns this\n */\nproto.Provider.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string humanName = 4;\n * @return {string}\n */\nproto.Provider.prototype.getHumanname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Provider} returns this\n */\nproto.Provider.prototype.setHumanname = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string image = 5;\n * @return {string}\n */\nproto.Provider.prototype.getImage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Provider} returns this\n */\nproto.Provider.prototype.setImage = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string website = 6;\n * @return {string}\n */\nproto.Provider.prototype.getWebsite = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Provider} returns this\n */\nproto.Provider.prototype.setWebsite = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string status = 7;\n * @return {string}\n */\nproto.Provider.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Provider} returns this\n */\nproto.Provider.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * repeated Variable connectConfiguration = 9;\n * @return {!Array<!proto.Variable>}\n */\nproto.Provider.prototype.getConnectconfigurationList = function() {\n  return /** @type{!Array<!proto.Variable>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.Variable, 9));\n};\n\n\n/**\n * @param {!Array<!proto.Variable>} value\n * @return {!proto.Provider} returns this\n*/\nproto.Provider.prototype.setConnectconfigurationList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 9, value);\n};\n\n\n/**\n * @param {!proto.Variable=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Variable}\n */\nproto.Provider.prototype.addConnectconfiguration = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 9, opt_value, proto.Variable, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.Provider} returns this\n */\nproto.Provider.prototype.clearConnectconfigurationList = function() {\n  return this.setConnectconfigurationList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.Tag.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.Tag.prototype.toObject = function(opt_includeInstance) {\n  return proto.Tag.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.Tag} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Tag.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    tagList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.Tag}\n */\nproto.Tag.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.Tag;\n  return proto.Tag.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.Tag} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.Tag}\n */\nproto.Tag.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addTag(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.Tag.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.Tag.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.Tag} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Tag.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getTagList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.Tag.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Tag} returns this\n */\nproto.Tag.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * repeated string tag = 2;\n * @return {!Array<string>}\n */\nproto.Tag.prototype.getTagList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.Tag} returns this\n */\nproto.Tag.prototype.setTagList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.Tag} returns this\n */\nproto.Tag.prototype.addTag = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.Tag} returns this\n */\nproto.Tag.prototype.clearTagList = function() {\n  return this.setTagList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.Organization.prototype.toObject = function(opt_includeInstance) {\n  return proto.Organization.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.Organization} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Organization.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    industry: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    contact: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    size: jspb.Message.getFieldWithDefault(msg, 6, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.Organization}\n */\nproto.Organization.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.Organization;\n  return proto.Organization.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.Organization} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.Organization}\n */\nproto.Organization.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setIndustry(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setContact(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setSize(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.Organization.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.Organization.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.Organization} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Organization.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getIndustry();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getContact();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getSize();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.Organization.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Organization} returns this\n */\nproto.Organization.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.Organization.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Organization} returns this\n */\nproto.Organization.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.Organization.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Organization} returns this\n */\nproto.Organization.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string industry = 4;\n * @return {string}\n */\nproto.Organization.prototype.getIndustry = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Organization} returns this\n */\nproto.Organization.prototype.setIndustry = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string contact = 5;\n * @return {string}\n */\nproto.Organization.prototype.getContact = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Organization} returns this\n */\nproto.Organization.prototype.setContact = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string size = 6;\n * @return {string}\n */\nproto.Organization.prototype.getSize = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Organization} returns this\n */\nproto.Organization.prototype.setSize = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.Metric.prototype.toObject = function(opt_includeInstance) {\n  return proto.Metric.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.Metric} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Metric.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    name: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    value: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.Metric}\n */\nproto.Metric.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.Metric;\n  return proto.Metric.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.Metric} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.Metric}\n */\nproto.Metric.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setValue(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.Metric.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.Metric.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.Metric} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Metric.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getValue();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.Metric.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Metric} returns this\n */\nproto.Metric.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string value = 2;\n * @return {string}\n */\nproto.Metric.prototype.getValue = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Metric} returns this\n */\nproto.Metric.prototype.setValue = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.Metric.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Metric} returns this\n */\nproto.Metric.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.Content.prototype.toObject = function(opt_includeInstance) {\n  return proto.Content.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.Content} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Content.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    name: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    contenttype: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    contentformat: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    content: msg.getContent_asB64(),\n    meta: (f = msg.getMeta()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.Content}\n */\nproto.Content.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.Content;\n  return proto.Content.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.Content} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.Content}\n */\nproto.Content.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setContenttype(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setContentformat(value);\n      break;\n    case 4:\n      var value = /** @type {!Uint8Array} */ (reader.readBytes());\n      msg.setContent(value);\n      break;\n    case 5:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setMeta(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.Content.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.Content.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.Content} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Content.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getContenttype();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getContentformat();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getContent_asU8();\n  if (f.length > 0) {\n    writer.writeBytes(\n      4,\n      f\n    );\n  }\n  f = message.getMeta();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.Content.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Content} returns this\n */\nproto.Content.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string contentType = 2;\n * @return {string}\n */\nproto.Content.prototype.getContenttype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Content} returns this\n */\nproto.Content.prototype.setContenttype = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string contentFormat = 3;\n * @return {string}\n */\nproto.Content.prototype.getContentformat = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Content} returns this\n */\nproto.Content.prototype.setContentformat = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional bytes content = 4;\n * @return {!(string|Uint8Array)}\n */\nproto.Content.prototype.getContent = function() {\n  return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * optional bytes content = 4;\n * This is a type-conversion wrapper around `getContent()`\n * @return {string}\n */\nproto.Content.prototype.getContent_asB64 = function() {\n  return /** @type {string} */ (jspb.Message.bytesAsB64(\n      this.getContent()));\n};\n\n\n/**\n * optional bytes content = 4;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getContent()`\n * @return {!Uint8Array}\n */\nproto.Content.prototype.getContent_asU8 = function() {\n  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n      this.getContent()));\n};\n\n\n/**\n * @param {!(string|Uint8Array)} value\n * @return {!proto.Content} returns this\n */\nproto.Content.prototype.setContent = function(value) {\n  return jspb.Message.setProto3BytesField(this, 4, value);\n};\n\n\n/**\n * optional google.protobuf.Struct meta = 5;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.Content.prototype.getMeta = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 5));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.Content} returns this\n*/\nproto.Content.prototype.setMeta = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.Content} returns this\n */\nproto.Content.prototype.clearMeta = function() {\n  return this.setMeta(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.Content.prototype.hasMeta = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.Message.repeatedFields_ = [2,3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.Message.prototype.toObject = function(opt_includeInstance) {\n  return proto.Message.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.Message} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Message.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    role: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    contentsList: jspb.Message.toObjectList(msg.getContentsList(),\n    proto.Content.toObject, includeInstance),\n    toolcallsList: jspb.Message.toObjectList(msg.getToolcallsList(),\n    proto.ToolCall.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.Message}\n */\nproto.Message.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.Message;\n  return proto.Message.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.Message} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.Message}\n */\nproto.Message.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRole(value);\n      break;\n    case 2:\n      var value = new proto.Content;\n      reader.readMessage(value,proto.Content.deserializeBinaryFromReader);\n      msg.addContents(value);\n      break;\n    case 3:\n      var value = new proto.ToolCall;\n      reader.readMessage(value,proto.ToolCall.deserializeBinaryFromReader);\n      msg.addToolcalls(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.Message.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.Message.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.Message} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Message.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getRole();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getContentsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      proto.Content.serializeBinaryToWriter\n    );\n  }\n  f = message.getToolcallsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.ToolCall.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string role = 1;\n * @return {string}\n */\nproto.Message.prototype.getRole = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Message} returns this\n */\nproto.Message.prototype.setRole = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * repeated Content contents = 2;\n * @return {!Array<!proto.Content>}\n */\nproto.Message.prototype.getContentsList = function() {\n  return /** @type{!Array<!proto.Content>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.Content, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Content>} value\n * @return {!proto.Message} returns this\n*/\nproto.Message.prototype.setContentsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Content=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Content}\n */\nproto.Message.prototype.addContents = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Content, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.Message} returns this\n */\nproto.Message.prototype.clearContentsList = function() {\n  return this.setContentsList([]);\n};\n\n\n/**\n * repeated ToolCall toolCalls = 3;\n * @return {!Array<!proto.ToolCall>}\n */\nproto.Message.prototype.getToolcallsList = function() {\n  return /** @type{!Array<!proto.ToolCall>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.ToolCall, 3));\n};\n\n\n/**\n * @param {!Array<!proto.ToolCall>} value\n * @return {!proto.Message} returns this\n*/\nproto.Message.prototype.setToolcallsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.ToolCall=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ToolCall}\n */\nproto.Message.prototype.addToolcalls = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.ToolCall, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.Message} returns this\n */\nproto.Message.prototype.clearToolcallsList = function() {\n  return this.setToolcallsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ToolCall.prototype.toObject = function(opt_includeInstance) {\n  return proto.ToolCall.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.ToolCall} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ToolCall.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    type: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    pb_function: (f = msg.getFunction()) && proto.FunctionCall.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ToolCall}\n */\nproto.ToolCall.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.ToolCall;\n  return proto.ToolCall.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ToolCall} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ToolCall}\n */\nproto.ToolCall.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setType(value);\n      break;\n    case 3:\n      var value = new proto.FunctionCall;\n      reader.readMessage(value,proto.FunctionCall.deserializeBinaryFromReader);\n      msg.setFunction(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ToolCall.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.ToolCall.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ToolCall} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ToolCall.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getType();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getFunction();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.FunctionCall.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string id = 1;\n * @return {string}\n */\nproto.ToolCall.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ToolCall} returns this\n */\nproto.ToolCall.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string type = 2;\n * @return {string}\n */\nproto.ToolCall.prototype.getType = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ToolCall} returns this\n */\nproto.ToolCall.prototype.setType = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional FunctionCall function = 3;\n * @return {?proto.FunctionCall}\n */\nproto.ToolCall.prototype.getFunction = function() {\n  return /** @type{?proto.FunctionCall} */ (\n    jspb.Message.getWrapperField(this, proto.FunctionCall, 3));\n};\n\n\n/**\n * @param {?proto.FunctionCall|undefined} value\n * @return {!proto.ToolCall} returns this\n*/\nproto.ToolCall.prototype.setFunction = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ToolCall} returns this\n */\nproto.ToolCall.prototype.clearFunction = function() {\n  return this.setFunction(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ToolCall.prototype.hasFunction = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.FunctionCall.prototype.toObject = function(opt_includeInstance) {\n  return proto.FunctionCall.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.FunctionCall} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.FunctionCall.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    name: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    arguments: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.FunctionCall}\n */\nproto.FunctionCall.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.FunctionCall;\n  return proto.FunctionCall.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.FunctionCall} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.FunctionCall}\n */\nproto.FunctionCall.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setArguments(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.FunctionCall.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.FunctionCall.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.FunctionCall} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.FunctionCall.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getArguments();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.FunctionCall.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.FunctionCall} returns this\n */\nproto.FunctionCall.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string arguments = 2;\n * @return {string}\n */\nproto.FunctionCall.prototype.getArguments = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.FunctionCall} returns this\n */\nproto.FunctionCall.prototype.setArguments = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.Knowledge.repeatedFields_ = [8];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.Knowledge.prototype.toObject = function(opt_includeInstance) {\n  return proto.Knowledge.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.Knowledge} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Knowledge.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    visibility: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    language: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    embeddingmodelproviderid: jspb.Message.getFieldWithDefault(msg, 6, \"0\"),\n    embeddingmodelprovidername: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    knowledgeembeddingmodeloptionsList: jspb.Message.toObjectList(msg.getKnowledgeembeddingmodeloptionsList(),\n    proto.Metadata.toObject, includeInstance),\n    status: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n    createdby: jspb.Message.getFieldWithDefault(msg, 13, \"0\"),\n    createduser: (f = msg.getCreateduser()) && proto.User.toObject(includeInstance, f),\n    updatedby: jspb.Message.getFieldWithDefault(msg, 15, \"0\"),\n    updateduser: (f = msg.getUpdateduser()) && proto.User.toObject(includeInstance, f),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 19, \"0\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 20, \"0\"),\n    organization: (f = msg.getOrganization()) && proto.Organization.toObject(includeInstance, f),\n    knowledgetag: (f = msg.getKnowledgetag()) && proto.Tag.toObject(includeInstance, f),\n    documentcount: jspb.Message.getFieldWithDefault(msg, 23, 0),\n    tokencount: jspb.Message.getFieldWithDefault(msg, 24, 0),\n    wordcount: jspb.Message.getFieldWithDefault(msg, 25, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.Knowledge}\n */\nproto.Knowledge.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.Knowledge;\n  return proto.Knowledge.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.Knowledge} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.Knowledge}\n */\nproto.Knowledge.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVisibility(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLanguage(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEmbeddingmodelproviderid(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmbeddingmodelprovidername(value);\n      break;\n    case 8:\n      var value = new proto.Metadata;\n      reader.readMessage(value,proto.Metadata.deserializeBinaryFromReader);\n      msg.addKnowledgeembeddingmodeloptions(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 13:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setCreatedby(value);\n      break;\n    case 14:\n      var value = new proto.User;\n      reader.readMessage(value,proto.User.deserializeBinaryFromReader);\n      msg.setCreateduser(value);\n      break;\n    case 15:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setUpdatedby(value);\n      break;\n    case 16:\n      var value = new proto.User;\n      reader.readMessage(value,proto.User.deserializeBinaryFromReader);\n      msg.setUpdateduser(value);\n      break;\n    case 17:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 18:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 19:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 20:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 21:\n      var value = new proto.Organization;\n      reader.readMessage(value,proto.Organization.deserializeBinaryFromReader);\n      msg.setOrganization(value);\n      break;\n    case 22:\n      var value = new proto.Tag;\n      reader.readMessage(value,proto.Tag.deserializeBinaryFromReader);\n      msg.setKnowledgetag(value);\n      break;\n    case 23:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setDocumentcount(value);\n      break;\n    case 24:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setTokencount(value);\n      break;\n    case 25:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setWordcount(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.Knowledge.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.Knowledge.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.Knowledge} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.Knowledge.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getVisibility();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getLanguage();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getEmbeddingmodelproviderid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      6,\n      f\n    );\n  }\n  f = message.getEmbeddingmodelprovidername();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getKnowledgeembeddingmodeloptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      8,\n      f,\n      proto.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n  f = message.getCreatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      13,\n      f\n    );\n  }\n  f = message.getCreateduser();\n  if (f != null) {\n    writer.writeMessage(\n      14,\n      f,\n      proto.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      15,\n      f\n    );\n  }\n  f = message.getUpdateduser();\n  if (f != null) {\n    writer.writeMessage(\n      16,\n      f,\n      proto.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      17,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      18,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      19,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      20,\n      f\n    );\n  }\n  f = message.getOrganization();\n  if (f != null) {\n    writer.writeMessage(\n      21,\n      f,\n      proto.Organization.serializeBinaryToWriter\n    );\n  }\n  f = message.getKnowledgetag();\n  if (f != null) {\n    writer.writeMessage(\n      22,\n      f,\n      proto.Tag.serializeBinaryToWriter\n    );\n  }\n  f = message.getDocumentcount();\n  if (f !== 0) {\n    writer.writeUint32(\n      23,\n      f\n    );\n  }\n  f = message.getTokencount();\n  if (f !== 0) {\n    writer.writeUint32(\n      24,\n      f\n    );\n  }\n  f = message.getWordcount();\n  if (f !== 0) {\n    writer.writeUint32(\n      25,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.Knowledge.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.Knowledge.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.Knowledge.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string visibility = 4;\n * @return {string}\n */\nproto.Knowledge.prototype.getVisibility = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.setVisibility = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string language = 5;\n * @return {string}\n */\nproto.Knowledge.prototype.getLanguage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.setLanguage = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional uint64 embeddingModelProviderId = 6;\n * @return {string}\n */\nproto.Knowledge.prototype.getEmbeddingmodelproviderid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.setEmbeddingmodelproviderid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 6, value);\n};\n\n\n/**\n * optional string embeddingModelProviderName = 7;\n * @return {string}\n */\nproto.Knowledge.prototype.getEmbeddingmodelprovidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.setEmbeddingmodelprovidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * repeated Metadata knowledgeEmbeddingModelOptions = 8;\n * @return {!Array<!proto.Metadata>}\n */\nproto.Knowledge.prototype.getKnowledgeembeddingmodeloptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.Metadata, 8));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.Knowledge} returns this\n*/\nproto.Knowledge.prototype.setKnowledgeembeddingmodeloptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 8, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.Knowledge.prototype.addKnowledgeembeddingmodeloptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.clearKnowledgeembeddingmodeloptionsList = function() {\n  return this.setKnowledgeembeddingmodeloptionsList([]);\n};\n\n\n/**\n * optional string status = 12;\n * @return {string}\n */\nproto.Knowledge.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional uint64 createdBy = 13;\n * @return {string}\n */\nproto.Knowledge.prototype.getCreatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.setCreatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 13, value);\n};\n\n\n/**\n * optional User createdUser = 14;\n * @return {?proto.User}\n */\nproto.Knowledge.prototype.getCreateduser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, proto.User, 14));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.Knowledge} returns this\n*/\nproto.Knowledge.prototype.setCreateduser = function(value) {\n  return jspb.Message.setWrapperField(this, 14, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.clearCreateduser = function() {\n  return this.setCreateduser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.Knowledge.prototype.hasCreateduser = function() {\n  return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * optional uint64 updatedBy = 15;\n * @return {string}\n */\nproto.Knowledge.prototype.getUpdatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.setUpdatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 15, value);\n};\n\n\n/**\n * optional User updatedUser = 16;\n * @return {?proto.User}\n */\nproto.Knowledge.prototype.getUpdateduser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, proto.User, 16));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.Knowledge} returns this\n*/\nproto.Knowledge.prototype.setUpdateduser = function(value) {\n  return jspb.Message.setWrapperField(this, 16, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.clearUpdateduser = function() {\n  return this.setUpdateduser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.Knowledge.prototype.hasUpdateduser = function() {\n  return jspb.Message.getField(this, 16) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 17;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.Knowledge.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 17));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.Knowledge} returns this\n*/\nproto.Knowledge.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 17, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.Knowledge.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 17) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 18;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.Knowledge.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 18));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.Knowledge} returns this\n*/\nproto.Knowledge.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 18, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.Knowledge.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 18) != null;\n};\n\n\n/**\n * optional uint64 organizationId = 19;\n * @return {string}\n */\nproto.Knowledge.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 19, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 19, value);\n};\n\n\n/**\n * optional uint64 projectId = 20;\n * @return {string}\n */\nproto.Knowledge.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 20, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 20, value);\n};\n\n\n/**\n * optional Organization organization = 21;\n * @return {?proto.Organization}\n */\nproto.Knowledge.prototype.getOrganization = function() {\n  return /** @type{?proto.Organization} */ (\n    jspb.Message.getWrapperField(this, proto.Organization, 21));\n};\n\n\n/**\n * @param {?proto.Organization|undefined} value\n * @return {!proto.Knowledge} returns this\n*/\nproto.Knowledge.prototype.setOrganization = function(value) {\n  return jspb.Message.setWrapperField(this, 21, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.clearOrganization = function() {\n  return this.setOrganization(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.Knowledge.prototype.hasOrganization = function() {\n  return jspb.Message.getField(this, 21) != null;\n};\n\n\n/**\n * optional Tag knowledgeTag = 22;\n * @return {?proto.Tag}\n */\nproto.Knowledge.prototype.getKnowledgetag = function() {\n  return /** @type{?proto.Tag} */ (\n    jspb.Message.getWrapperField(this, proto.Tag, 22));\n};\n\n\n/**\n * @param {?proto.Tag|undefined} value\n * @return {!proto.Knowledge} returns this\n*/\nproto.Knowledge.prototype.setKnowledgetag = function(value) {\n  return jspb.Message.setWrapperField(this, 22, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.clearKnowledgetag = function() {\n  return this.setKnowledgetag(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.Knowledge.prototype.hasKnowledgetag = function() {\n  return jspb.Message.getField(this, 22) != null;\n};\n\n\n/**\n * optional uint32 documentCount = 23;\n * @return {number}\n */\nproto.Knowledge.prototype.getDocumentcount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 23, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.setDocumentcount = function(value) {\n  return jspb.Message.setProto3IntField(this, 23, value);\n};\n\n\n/**\n * optional uint32 tokenCount = 24;\n * @return {number}\n */\nproto.Knowledge.prototype.getTokencount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 24, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.setTokencount = function(value) {\n  return jspb.Message.setProto3IntField(this, 24, value);\n};\n\n\n/**\n * optional uint32 wordCount = 25;\n * @return {number}\n */\nproto.Knowledge.prototype.getWordcount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 25, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.Knowledge} returns this\n */\nproto.Knowledge.prototype.setWordcount = function(value) {\n  return jspb.Message.setProto3IntField(this, 25, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.TextPrompt.prototype.toObject = function(opt_includeInstance) {\n  return proto.TextPrompt.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.TextPrompt} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.TextPrompt.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    role: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    content: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.TextPrompt}\n */\nproto.TextPrompt.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.TextPrompt;\n  return proto.TextPrompt.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.TextPrompt} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.TextPrompt}\n */\nproto.TextPrompt.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRole(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setContent(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.TextPrompt.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.TextPrompt.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.TextPrompt} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.TextPrompt.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getRole();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getContent();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string role = 1;\n * @return {string}\n */\nproto.TextPrompt.prototype.getRole = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.TextPrompt} returns this\n */\nproto.TextPrompt.prototype.setRole = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string content = 2;\n * @return {string}\n */\nproto.TextPrompt.prototype.getContent = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.TextPrompt} returns this\n */\nproto.TextPrompt.prototype.setContent = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.TextChatCompletePrompt.repeatedFields_ = [1,2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.TextChatCompletePrompt.prototype.toObject = function(opt_includeInstance) {\n  return proto.TextChatCompletePrompt.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.TextChatCompletePrompt} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.TextChatCompletePrompt.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    promptList: jspb.Message.toObjectList(msg.getPromptList(),\n    proto.TextPrompt.toObject, includeInstance),\n    promptvariablesList: jspb.Message.toObjectList(msg.getPromptvariablesList(),\n    proto.Variable.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.TextChatCompletePrompt}\n */\nproto.TextChatCompletePrompt.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.TextChatCompletePrompt;\n  return proto.TextChatCompletePrompt.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.TextChatCompletePrompt} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.TextChatCompletePrompt}\n */\nproto.TextChatCompletePrompt.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.TextPrompt;\n      reader.readMessage(value,proto.TextPrompt.deserializeBinaryFromReader);\n      msg.addPrompt(value);\n      break;\n    case 2:\n      var value = new proto.Variable;\n      reader.readMessage(value,proto.Variable.deserializeBinaryFromReader);\n      msg.addPromptvariables(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.TextChatCompletePrompt.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.TextChatCompletePrompt.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.TextChatCompletePrompt} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.TextChatCompletePrompt.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPromptList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      1,\n      f,\n      proto.TextPrompt.serializeBinaryToWriter\n    );\n  }\n  f = message.getPromptvariablesList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      proto.Variable.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * repeated TextPrompt prompt = 1;\n * @return {!Array<!proto.TextPrompt>}\n */\nproto.TextChatCompletePrompt.prototype.getPromptList = function() {\n  return /** @type{!Array<!proto.TextPrompt>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.TextPrompt, 1));\n};\n\n\n/**\n * @param {!Array<!proto.TextPrompt>} value\n * @return {!proto.TextChatCompletePrompt} returns this\n*/\nproto.TextChatCompletePrompt.prototype.setPromptList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.TextPrompt=} opt_value\n * @param {number=} opt_index\n * @return {!proto.TextPrompt}\n */\nproto.TextChatCompletePrompt.prototype.addPrompt = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.TextPrompt, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.TextChatCompletePrompt} returns this\n */\nproto.TextChatCompletePrompt.prototype.clearPromptList = function() {\n  return this.setPromptList([]);\n};\n\n\n/**\n * repeated Variable promptVariables = 2;\n * @return {!Array<!proto.Variable>}\n */\nproto.TextChatCompletePrompt.prototype.getPromptvariablesList = function() {\n  return /** @type{!Array<!proto.Variable>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.Variable, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Variable>} value\n * @return {!proto.TextChatCompletePrompt} returns this\n*/\nproto.TextChatCompletePrompt.prototype.setPromptvariablesList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Variable=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Variable}\n */\nproto.TextChatCompletePrompt.prototype.addPromptvariables = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Variable, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.TextChatCompletePrompt} returns this\n */\nproto.TextChatCompletePrompt.prototype.clearPromptvariablesList = function() {\n  return this.setPromptvariablesList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.AssistantMessageStage.prototype.toObject = function(opt_includeInstance) {\n  return proto.AssistantMessageStage.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.AssistantMessageStage} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.AssistantMessageStage.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    stage: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    additionaldataMap: (f = msg.getAdditionaldataMap()) ? f.toObject(includeInstance, undefined) : [],\n    timetaken: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    lifecycleid: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    starttimestamp: (f = msg.getStarttimestamp()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    endtimestamp: (f = msg.getEndtimestamp()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.AssistantMessageStage}\n */\nproto.AssistantMessageStage.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.AssistantMessageStage;\n  return proto.AssistantMessageStage.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.AssistantMessageStage} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.AssistantMessageStage}\n */\nproto.AssistantMessageStage.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStage(value);\n      break;\n    case 2:\n      var value = msg.getAdditionaldataMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setTimetaken(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLifecycleid(value);\n      break;\n    case 5:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setStarttimestamp(value);\n      break;\n    case 6:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setEndtimestamp(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.AssistantMessageStage.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.AssistantMessageStage.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.AssistantMessageStage} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.AssistantMessageStage.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getStage();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getAdditionaldataMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(2, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getTimetaken();\n  if (f !== 0) {\n    writer.writeUint64(\n      3,\n      f\n    );\n  }\n  f = message.getLifecycleid();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getStarttimestamp();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getEndtimestamp();\n  if (f != null) {\n    writer.writeMessage(\n      6,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string stage = 1;\n * @return {string}\n */\nproto.AssistantMessageStage.prototype.getStage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantMessageStage} returns this\n */\nproto.AssistantMessageStage.prototype.setStage = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * map<string, string> additionalData = 2;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.AssistantMessageStage.prototype.getAdditionaldataMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 2, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.AssistantMessageStage} returns this\n */\nproto.AssistantMessageStage.prototype.clearAdditionaldataMap = function() {\n  this.getAdditionaldataMap().clear();\n  return this;};\n\n\n/**\n * optional uint64 timetaken = 3;\n * @return {number}\n */\nproto.AssistantMessageStage.prototype.getTimetaken = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.AssistantMessageStage} returns this\n */\nproto.AssistantMessageStage.prototype.setTimetaken = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional string lifecycleId = 4;\n * @return {string}\n */\nproto.AssistantMessageStage.prototype.getLifecycleid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantMessageStage} returns this\n */\nproto.AssistantMessageStage.prototype.setLifecycleid = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp startTimestamp = 5;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.AssistantMessageStage.prototype.getStarttimestamp = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 5));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.AssistantMessageStage} returns this\n*/\nproto.AssistantMessageStage.prototype.setStarttimestamp = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.AssistantMessageStage} returns this\n */\nproto.AssistantMessageStage.prototype.clearStarttimestamp = function() {\n  return this.setStarttimestamp(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.AssistantMessageStage.prototype.hasStarttimestamp = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp endTimestamp = 6;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.AssistantMessageStage.prototype.getEndtimestamp = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 6));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.AssistantMessageStage} returns this\n*/\nproto.AssistantMessageStage.prototype.setEndtimestamp = function(value) {\n  return jspb.Message.setWrapperField(this, 6, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.AssistantMessageStage} returns this\n */\nproto.AssistantMessageStage.prototype.clearEndtimestamp = function() {\n  return this.setEndtimestamp(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.AssistantMessageStage.prototype.hasEndtimestamp = function() {\n  return jspb.Message.getField(this, 6) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.AssistantConversationMessage.repeatedFields_ = [10,14,15,31];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.AssistantConversationMessage.prototype.toObject = function(opt_includeInstance) {\n  return proto.AssistantConversationMessage.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.AssistantConversationMessage} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.AssistantConversationMessage.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    messageid: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    assistantconversationid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    request: (f = msg.getRequest()) && proto.Message.toObject(includeInstance, f),\n    response: (f = msg.getResponse()) && proto.Message.toObject(includeInstance, f),\n    source: jspb.Message.getFieldWithDefault(msg, 9, \"\"),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    proto.Metric.toObject, includeInstance),\n    status: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n    createdby: jspb.Message.getFieldWithDefault(msg, 12, \"0\"),\n    updatedby: jspb.Message.getFieldWithDefault(msg, 13, \"0\"),\n    suggestedquestionsList: (f = jspb.Message.getRepeatedField(msg, 14)) == null ? undefined : f,\n    stagesList: jspb.Message.toObjectList(msg.getStagesList(),\n    proto.AssistantMessageStage.toObject, includeInstance),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 28, \"0\"),\n    assistantprovidermodelid: jspb.Message.getFieldWithDefault(msg, 29, \"0\"),\n    metadataList: jspb.Message.toObjectList(msg.getMetadataList(),\n    proto.Metadata.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.AssistantConversationMessage}\n */\nproto.AssistantConversationMessage.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.AssistantConversationMessage;\n  return proto.AssistantConversationMessage.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.AssistantConversationMessage} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.AssistantConversationMessage}\n */\nproto.AssistantConversationMessage.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setMessageid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantconversationid(value);\n      break;\n    case 5:\n      var value = new proto.Message;\n      reader.readMessage(value,proto.Message.deserializeBinaryFromReader);\n      msg.setRequest(value);\n      break;\n    case 7:\n      var value = new proto.Message;\n      reader.readMessage(value,proto.Message.deserializeBinaryFromReader);\n      msg.setResponse(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setSource(value);\n      break;\n    case 10:\n      var value = new proto.Metric;\n      reader.readMessage(value,proto.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    case 11:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setCreatedby(value);\n      break;\n    case 13:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setUpdatedby(value);\n      break;\n    case 14:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addSuggestedquestions(value);\n      break;\n    case 15:\n      var value = new proto.AssistantMessageStage;\n      reader.readMessage(value,proto.AssistantMessageStage.deserializeBinaryFromReader);\n      msg.addStages(value);\n      break;\n    case 26:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 27:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 28:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 29:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantprovidermodelid(value);\n      break;\n    case 31:\n      var value = new proto.Metadata;\n      reader.readMessage(value,proto.Metadata.deserializeBinaryFromReader);\n      msg.addMetadata(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.AssistantConversationMessage.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.AssistantConversationMessage.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.AssistantConversationMessage} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.AssistantConversationMessage.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getMessageid();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getAssistantconversationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getRequest();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      proto.Message.serializeBinaryToWriter\n    );\n  }\n  f = message.getResponse();\n  if (f != null) {\n    writer.writeMessage(\n      7,\n      f,\n      proto.Message.serializeBinaryToWriter\n    );\n  }\n  f = message.getSource();\n  if (f.length > 0) {\n    writer.writeString(\n      9,\n      f\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      10,\n      f,\n      proto.Metric.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      11,\n      f\n    );\n  }\n  f = message.getCreatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      12,\n      f\n    );\n  }\n  f = message.getUpdatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      13,\n      f\n    );\n  }\n  f = message.getSuggestedquestionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      14,\n      f\n    );\n  }\n  f = message.getStagesList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      15,\n      f,\n      proto.AssistantMessageStage.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      26,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      27,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      28,\n      f\n    );\n  }\n  f = message.getAssistantprovidermodelid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      29,\n      f\n    );\n  }\n  f = message.getMetadataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      31,\n      f,\n      proto.Metadata.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.AssistantConversationMessage.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string messageId = 3;\n * @return {string}\n */\nproto.AssistantConversationMessage.prototype.getMessageid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.setMessageid = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional uint64 assistantConversationId = 2;\n * @return {string}\n */\nproto.AssistantConversationMessage.prototype.getAssistantconversationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.setAssistantconversationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional Message request = 5;\n * @return {?proto.Message}\n */\nproto.AssistantConversationMessage.prototype.getRequest = function() {\n  return /** @type{?proto.Message} */ (\n    jspb.Message.getWrapperField(this, proto.Message, 5));\n};\n\n\n/**\n * @param {?proto.Message|undefined} value\n * @return {!proto.AssistantConversationMessage} returns this\n*/\nproto.AssistantConversationMessage.prototype.setRequest = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.clearRequest = function() {\n  return this.setRequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.AssistantConversationMessage.prototype.hasRequest = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * optional Message response = 7;\n * @return {?proto.Message}\n */\nproto.AssistantConversationMessage.prototype.getResponse = function() {\n  return /** @type{?proto.Message} */ (\n    jspb.Message.getWrapperField(this, proto.Message, 7));\n};\n\n\n/**\n * @param {?proto.Message|undefined} value\n * @return {!proto.AssistantConversationMessage} returns this\n*/\nproto.AssistantConversationMessage.prototype.setResponse = function(value) {\n  return jspb.Message.setWrapperField(this, 7, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.clearResponse = function() {\n  return this.setResponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.AssistantConversationMessage.prototype.hasResponse = function() {\n  return jspb.Message.getField(this, 7) != null;\n};\n\n\n/**\n * optional string source = 9;\n * @return {string}\n */\nproto.AssistantConversationMessage.prototype.getSource = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.setSource = function(value) {\n  return jspb.Message.setProto3StringField(this, 9, value);\n};\n\n\n/**\n * repeated Metric metrics = 10;\n * @return {!Array<!proto.Metric>}\n */\nproto.AssistantConversationMessage.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.Metric, 10));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.AssistantConversationMessage} returns this\n*/\nproto.AssistantConversationMessage.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 10, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.AssistantConversationMessage.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 10, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\n/**\n * optional string status = 11;\n * @return {string}\n */\nproto.AssistantConversationMessage.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional uint64 createdBy = 12;\n * @return {string}\n */\nproto.AssistantConversationMessage.prototype.getCreatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.setCreatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 12, value);\n};\n\n\n/**\n * optional uint64 updatedBy = 13;\n * @return {string}\n */\nproto.AssistantConversationMessage.prototype.getUpdatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.setUpdatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 13, value);\n};\n\n\n/**\n * repeated string suggestedQuestions = 14;\n * @return {!Array<string>}\n */\nproto.AssistantConversationMessage.prototype.getSuggestedquestionsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 14));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.setSuggestedquestionsList = function(value) {\n  return jspb.Message.setField(this, 14, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.addSuggestedquestions = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 14, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.clearSuggestedquestionsList = function() {\n  return this.setSuggestedquestionsList([]);\n};\n\n\n/**\n * repeated AssistantMessageStage stages = 15;\n * @return {!Array<!proto.AssistantMessageStage>}\n */\nproto.AssistantConversationMessage.prototype.getStagesList = function() {\n  return /** @type{!Array<!proto.AssistantMessageStage>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.AssistantMessageStage, 15));\n};\n\n\n/**\n * @param {!Array<!proto.AssistantMessageStage>} value\n * @return {!proto.AssistantConversationMessage} returns this\n*/\nproto.AssistantConversationMessage.prototype.setStagesList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 15, value);\n};\n\n\n/**\n * @param {!proto.AssistantMessageStage=} opt_value\n * @param {number=} opt_index\n * @return {!proto.AssistantMessageStage}\n */\nproto.AssistantConversationMessage.prototype.addStages = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 15, opt_value, proto.AssistantMessageStage, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.clearStagesList = function() {\n  return this.setStagesList([]);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 26;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.AssistantConversationMessage.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 26));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.AssistantConversationMessage} returns this\n*/\nproto.AssistantConversationMessage.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 26, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.AssistantConversationMessage.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 26) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 27;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.AssistantConversationMessage.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 27));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.AssistantConversationMessage} returns this\n*/\nproto.AssistantConversationMessage.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 27, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.AssistantConversationMessage.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 27) != null;\n};\n\n\n/**\n * optional uint64 assistantId = 28;\n * @return {string}\n */\nproto.AssistantConversationMessage.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 28, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 28, value);\n};\n\n\n/**\n * optional uint64 assistantProviderModelId = 29;\n * @return {string}\n */\nproto.AssistantConversationMessage.prototype.getAssistantprovidermodelid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 29, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.setAssistantprovidermodelid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 29, value);\n};\n\n\n/**\n * repeated Metadata metadata = 31;\n * @return {!Array<!proto.Metadata>}\n */\nproto.AssistantConversationMessage.prototype.getMetadataList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.Metadata, 31));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.AssistantConversationMessage} returns this\n*/\nproto.AssistantConversationMessage.prototype.setMetadataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 31, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.AssistantConversationMessage.prototype.addMetadata = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 31, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.AssistantConversationMessage} returns this\n */\nproto.AssistantConversationMessage.prototype.clearMetadataList = function() {\n  return this.setMetadataList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.AssistantConversationContext.prototype.toObject = function(opt_includeInstance) {\n  return proto.AssistantConversationContext.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.AssistantConversationContext} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.AssistantConversationContext.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    metadata: (f = msg.getMetadata()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    result: (f = msg.getResult()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    query: (f = msg.getQuery()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.AssistantConversationContext}\n */\nproto.AssistantConversationContext.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.AssistantConversationContext;\n  return proto.AssistantConversationContext.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.AssistantConversationContext} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.AssistantConversationContext}\n */\nproto.AssistantConversationContext.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 3:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setMetadata(value);\n      break;\n    case 4:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setResult(value);\n      break;\n    case 5:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setQuery(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.AssistantConversationContext.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.AssistantConversationContext.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.AssistantConversationContext} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.AssistantConversationContext.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getMetadata();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getResult();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getQuery();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.AssistantConversationContext.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversationContext} returns this\n */\nproto.AssistantConversationContext.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional google.protobuf.Struct metadata = 3;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.AssistantConversationContext.prototype.getMetadata = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 3));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.AssistantConversationContext} returns this\n*/\nproto.AssistantConversationContext.prototype.setMetadata = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.AssistantConversationContext} returns this\n */\nproto.AssistantConversationContext.prototype.clearMetadata = function() {\n  return this.setMetadata(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.AssistantConversationContext.prototype.hasMetadata = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional google.protobuf.Struct result = 4;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.AssistantConversationContext.prototype.getResult = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 4));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.AssistantConversationContext} returns this\n*/\nproto.AssistantConversationContext.prototype.setResult = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.AssistantConversationContext} returns this\n */\nproto.AssistantConversationContext.prototype.clearResult = function() {\n  return this.setResult(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.AssistantConversationContext.prototype.hasResult = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional google.protobuf.Struct query = 5;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.AssistantConversationContext.prototype.getQuery = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 5));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.AssistantConversationContext} returns this\n*/\nproto.AssistantConversationContext.prototype.setQuery = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.AssistantConversationContext} returns this\n */\nproto.AssistantConversationContext.prototype.clearQuery = function() {\n  return this.setQuery(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.AssistantConversationContext.prototype.hasQuery = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.AssistantConversation.repeatedFields_ = [13,28,30,32,31,33];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.AssistantConversation.prototype.toObject = function(opt_includeInstance) {\n  return proto.AssistantConversation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.AssistantConversation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.AssistantConversation.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    userid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 5, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 6, \"0\"),\n    source: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    createdby: jspb.Message.getFieldWithDefault(msg, 8, \"0\"),\n    updatedby: jspb.Message.getFieldWithDefault(msg, 9, \"0\"),\n    user: (f = msg.getUser()) && proto.User.toObject(includeInstance, f),\n    assistantprovidermodelid: jspb.Message.getFieldWithDefault(msg, 12, \"0\"),\n    assistantconversationmessageList: jspb.Message.toObjectList(msg.getAssistantconversationmessageList(),\n    proto.AssistantConversationMessage.toObject, includeInstance),\n    identifier: jspb.Message.getFieldWithDefault(msg, 14, \"\"),\n    status: jspb.Message.getFieldWithDefault(msg, 15, \"\"),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    contextsList: jspb.Message.toObjectList(msg.getContextsList(),\n    proto.AssistantConversationContext.toObject, includeInstance),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    proto.Metric.toObject, includeInstance),\n    metadataList: jspb.Message.toObjectList(msg.getMetadataList(),\n    proto.Metadata.toObject, includeInstance),\n    argumentsList: jspb.Message.toObjectList(msg.getArgumentsList(),\n    proto.Argument.toObject, includeInstance),\n    optionsList: jspb.Message.toObjectList(msg.getOptionsList(),\n    proto.Metadata.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.AssistantConversation}\n */\nproto.AssistantConversation.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.AssistantConversation;\n  return proto.AssistantConversation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.AssistantConversation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.AssistantConversation}\n */\nproto.AssistantConversation.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setUserid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setSource(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setCreatedby(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setUpdatedby(value);\n      break;\n    case 10:\n      var value = new proto.User;\n      reader.readMessage(value,proto.User.deserializeBinaryFromReader);\n      msg.setUser(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantprovidermodelid(value);\n      break;\n    case 13:\n      var value = new proto.AssistantConversationMessage;\n      reader.readMessage(value,proto.AssistantConversationMessage.deserializeBinaryFromReader);\n      msg.addAssistantconversationmessage(value);\n      break;\n    case 14:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setIdentifier(value);\n      break;\n    case 15:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 26:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 27:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 28:\n      var value = new proto.AssistantConversationContext;\n      reader.readMessage(value,proto.AssistantConversationContext.deserializeBinaryFromReader);\n      msg.addContexts(value);\n      break;\n    case 30:\n      var value = new proto.Metric;\n      reader.readMessage(value,proto.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    case 32:\n      var value = new proto.Metadata;\n      reader.readMessage(value,proto.Metadata.deserializeBinaryFromReader);\n      msg.addMetadata(value);\n      break;\n    case 31:\n      var value = new proto.Argument;\n      reader.readMessage(value,proto.Argument.deserializeBinaryFromReader);\n      msg.addArguments(value);\n      break;\n    case 33:\n      var value = new proto.Metadata;\n      reader.readMessage(value,proto.Metadata.deserializeBinaryFromReader);\n      msg.addOptions(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.AssistantConversation.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.AssistantConversation.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.AssistantConversation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.AssistantConversation.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getUserid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      6,\n      f\n    );\n  }\n  f = message.getSource();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getCreatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      8,\n      f\n    );\n  }\n  f = message.getUpdatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      9,\n      f\n    );\n  }\n  f = message.getUser();\n  if (f != null) {\n    writer.writeMessage(\n      10,\n      f,\n      proto.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getAssistantprovidermodelid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      12,\n      f\n    );\n  }\n  f = message.getAssistantconversationmessageList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      13,\n      f,\n      proto.AssistantConversationMessage.serializeBinaryToWriter\n    );\n  }\n  f = message.getIdentifier();\n  if (f.length > 0) {\n    writer.writeString(\n      14,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      15,\n      f\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      26,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      27,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getContextsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      28,\n      f,\n      proto.AssistantConversationContext.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      30,\n      f,\n      proto.Metric.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetadataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      32,\n      f,\n      proto.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getArgumentsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      31,\n      f,\n      proto.Argument.serializeBinaryToWriter\n    );\n  }\n  f = message.getOptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      33,\n      f,\n      proto.Metadata.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.AssistantConversation.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 userId = 2;\n * @return {string}\n */\nproto.AssistantConversation.prototype.getUserid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.setUserid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional uint64 assistantId = 3;\n * @return {string}\n */\nproto.AssistantConversation.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional string name = 4;\n * @return {string}\n */\nproto.AssistantConversation.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional uint64 projectId = 5;\n * @return {string}\n */\nproto.AssistantConversation.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n/**\n * optional uint64 organizationId = 6;\n * @return {string}\n */\nproto.AssistantConversation.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 6, value);\n};\n\n\n/**\n * optional string source = 7;\n * @return {string}\n */\nproto.AssistantConversation.prototype.getSource = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.setSource = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional uint64 createdBy = 8;\n * @return {string}\n */\nproto.AssistantConversation.prototype.getCreatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.setCreatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 8, value);\n};\n\n\n/**\n * optional uint64 updatedBy = 9;\n * @return {string}\n */\nproto.AssistantConversation.prototype.getUpdatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.setUpdatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 9, value);\n};\n\n\n/**\n * optional User user = 10;\n * @return {?proto.User}\n */\nproto.AssistantConversation.prototype.getUser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, proto.User, 10));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.AssistantConversation} returns this\n*/\nproto.AssistantConversation.prototype.setUser = function(value) {\n  return jspb.Message.setWrapperField(this, 10, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.clearUser = function() {\n  return this.setUser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.AssistantConversation.prototype.hasUser = function() {\n  return jspb.Message.getField(this, 10) != null;\n};\n\n\n/**\n * optional uint64 assistantProviderModelId = 12;\n * @return {string}\n */\nproto.AssistantConversation.prototype.getAssistantprovidermodelid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.setAssistantprovidermodelid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 12, value);\n};\n\n\n/**\n * repeated AssistantConversationMessage assistantConversationMessage = 13;\n * @return {!Array<!proto.AssistantConversationMessage>}\n */\nproto.AssistantConversation.prototype.getAssistantconversationmessageList = function() {\n  return /** @type{!Array<!proto.AssistantConversationMessage>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.AssistantConversationMessage, 13));\n};\n\n\n/**\n * @param {!Array<!proto.AssistantConversationMessage>} value\n * @return {!proto.AssistantConversation} returns this\n*/\nproto.AssistantConversation.prototype.setAssistantconversationmessageList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 13, value);\n};\n\n\n/**\n * @param {!proto.AssistantConversationMessage=} opt_value\n * @param {number=} opt_index\n * @return {!proto.AssistantConversationMessage}\n */\nproto.AssistantConversation.prototype.addAssistantconversationmessage = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 13, opt_value, proto.AssistantConversationMessage, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.clearAssistantconversationmessageList = function() {\n  return this.setAssistantconversationmessageList([]);\n};\n\n\n/**\n * optional string identifier = 14;\n * @return {string}\n */\nproto.AssistantConversation.prototype.getIdentifier = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 14, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.setIdentifier = function(value) {\n  return jspb.Message.setProto3StringField(this, 14, value);\n};\n\n\n/**\n * optional string status = 15;\n * @return {string}\n */\nproto.AssistantConversation.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 15, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 26;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.AssistantConversation.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 26));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.AssistantConversation} returns this\n*/\nproto.AssistantConversation.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 26, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.AssistantConversation.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 26) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 27;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.AssistantConversation.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 27));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.AssistantConversation} returns this\n*/\nproto.AssistantConversation.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 27, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.AssistantConversation.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 27) != null;\n};\n\n\n/**\n * repeated AssistantConversationContext contexts = 28;\n * @return {!Array<!proto.AssistantConversationContext>}\n */\nproto.AssistantConversation.prototype.getContextsList = function() {\n  return /** @type{!Array<!proto.AssistantConversationContext>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.AssistantConversationContext, 28));\n};\n\n\n/**\n * @param {!Array<!proto.AssistantConversationContext>} value\n * @return {!proto.AssistantConversation} returns this\n*/\nproto.AssistantConversation.prototype.setContextsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 28, value);\n};\n\n\n/**\n * @param {!proto.AssistantConversationContext=} opt_value\n * @param {number=} opt_index\n * @return {!proto.AssistantConversationContext}\n */\nproto.AssistantConversation.prototype.addContexts = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 28, opt_value, proto.AssistantConversationContext, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.clearContextsList = function() {\n  return this.setContextsList([]);\n};\n\n\n/**\n * repeated Metric metrics = 30;\n * @return {!Array<!proto.Metric>}\n */\nproto.AssistantConversation.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.Metric, 30));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.AssistantConversation} returns this\n*/\nproto.AssistantConversation.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 30, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.AssistantConversation.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 30, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\n/**\n * repeated Metadata metadata = 32;\n * @return {!Array<!proto.Metadata>}\n */\nproto.AssistantConversation.prototype.getMetadataList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.Metadata, 32));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.AssistantConversation} returns this\n*/\nproto.AssistantConversation.prototype.setMetadataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 32, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.AssistantConversation.prototype.addMetadata = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 32, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.clearMetadataList = function() {\n  return this.setMetadataList([]);\n};\n\n\n/**\n * repeated Argument arguments = 31;\n * @return {!Array<!proto.Argument>}\n */\nproto.AssistantConversation.prototype.getArgumentsList = function() {\n  return /** @type{!Array<!proto.Argument>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.Argument, 31));\n};\n\n\n/**\n * @param {!Array<!proto.Argument>} value\n * @return {!proto.AssistantConversation} returns this\n*/\nproto.AssistantConversation.prototype.setArgumentsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 31, value);\n};\n\n\n/**\n * @param {!proto.Argument=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Argument}\n */\nproto.AssistantConversation.prototype.addArguments = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 31, opt_value, proto.Argument, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.clearArgumentsList = function() {\n  return this.setArgumentsList([]);\n};\n\n\n/**\n * repeated Metadata options = 33;\n * @return {!Array<!proto.Metadata>}\n */\nproto.AssistantConversation.prototype.getOptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.Metadata, 33));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.AssistantConversation} returns this\n*/\nproto.AssistantConversation.prototype.setOptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 33, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.AssistantConversation.prototype.addOptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 33, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.AssistantConversation} returns this\n */\nproto.AssistantConversation.prototype.clearOptionsList = function() {\n  return this.setOptionsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.GetAllAssistantConversationRequest.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.GetAllAssistantConversationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.GetAllAssistantConversationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.GetAllAssistantConversationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.GetAllAssistantConversationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistantid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    paginate: (f = msg.getPaginate()) && proto.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    proto.Criteria.toObject, includeInstance),\n    source: jspb.Message.getFieldWithDefault(msg, 7, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.GetAllAssistantConversationRequest}\n */\nproto.GetAllAssistantConversationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.GetAllAssistantConversationRequest;\n  return proto.GetAllAssistantConversationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.GetAllAssistantConversationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.GetAllAssistantConversationRequest}\n */\nproto.GetAllAssistantConversationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 2:\n      var value = new proto.Paginate;\n      reader.readMessage(value,proto.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 3:\n      var value = new proto.Criteria;\n      reader.readMessage(value,proto.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 7:\n      var value = /** @type {!proto.Source} */ (reader.readEnum());\n      msg.setSource(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.GetAllAssistantConversationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.GetAllAssistantConversationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.GetAllAssistantConversationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.GetAllAssistantConversationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getSource();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      7,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 assistantId = 1;\n * @return {string}\n */\nproto.GetAllAssistantConversationRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.GetAllAssistantConversationRequest} returns this\n */\nproto.GetAllAssistantConversationRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional Paginate paginate = 2;\n * @return {?proto.Paginate}\n */\nproto.GetAllAssistantConversationRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, proto.Paginate, 2));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.GetAllAssistantConversationRequest} returns this\n*/\nproto.GetAllAssistantConversationRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.GetAllAssistantConversationRequest} returns this\n */\nproto.GetAllAssistantConversationRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.GetAllAssistantConversationRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 3;\n * @return {!Array<!proto.Criteria>}\n */\nproto.GetAllAssistantConversationRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.Criteria, 3));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.GetAllAssistantConversationRequest} returns this\n*/\nproto.GetAllAssistantConversationRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.GetAllAssistantConversationRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.GetAllAssistantConversationRequest} returns this\n */\nproto.GetAllAssistantConversationRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional Source source = 7;\n * @return {!proto.Source}\n */\nproto.GetAllAssistantConversationRequest.prototype.getSource = function() {\n  return /** @type {!proto.Source} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {!proto.Source} value\n * @return {!proto.GetAllAssistantConversationRequest} returns this\n */\nproto.GetAllAssistantConversationRequest.prototype.setSource = function(value) {\n  return jspb.Message.setProto3EnumField(this, 7, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.GetAllAssistantConversationResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.GetAllAssistantConversationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.GetAllAssistantConversationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.GetAllAssistantConversationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.GetAllAssistantConversationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.AssistantConversation.toObject, includeInstance),\n    error: (f = msg.getError()) && proto.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && proto.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.GetAllAssistantConversationResponse}\n */\nproto.GetAllAssistantConversationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.GetAllAssistantConversationResponse;\n  return proto.GetAllAssistantConversationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.GetAllAssistantConversationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.GetAllAssistantConversationResponse}\n */\nproto.GetAllAssistantConversationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.AssistantConversation;\n      reader.readMessage(value,proto.AssistantConversation.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new proto.Error;\n      reader.readMessage(value,proto.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new proto.Paginated;\n      reader.readMessage(value,proto.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.GetAllAssistantConversationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.GetAllAssistantConversationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.GetAllAssistantConversationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.GetAllAssistantConversationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.AssistantConversation.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      proto.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.GetAllAssistantConversationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.GetAllAssistantConversationResponse} returns this\n */\nproto.GetAllAssistantConversationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.GetAllAssistantConversationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.GetAllAssistantConversationResponse} returns this\n */\nproto.GetAllAssistantConversationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated AssistantConversation data = 3;\n * @return {!Array<!proto.AssistantConversation>}\n */\nproto.GetAllAssistantConversationResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.AssistantConversation>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.AssistantConversation, 3));\n};\n\n\n/**\n * @param {!Array<!proto.AssistantConversation>} value\n * @return {!proto.GetAllAssistantConversationResponse} returns this\n*/\nproto.GetAllAssistantConversationResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.AssistantConversation=} opt_value\n * @param {number=} opt_index\n * @return {!proto.AssistantConversation}\n */\nproto.GetAllAssistantConversationResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.AssistantConversation, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.GetAllAssistantConversationResponse} returns this\n */\nproto.GetAllAssistantConversationResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.GetAllAssistantConversationResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, proto.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.GetAllAssistantConversationResponse} returns this\n*/\nproto.GetAllAssistantConversationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.GetAllAssistantConversationResponse} returns this\n */\nproto.GetAllAssistantConversationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.GetAllAssistantConversationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.GetAllAssistantConversationResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, proto.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.GetAllAssistantConversationResponse} returns this\n*/\nproto.GetAllAssistantConversationResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.GetAllAssistantConversationResponse} returns this\n */\nproto.GetAllAssistantConversationResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.GetAllAssistantConversationResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.GetAllConversationMessageRequest.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.GetAllConversationMessageRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.GetAllConversationMessageRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.GetAllConversationMessageRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.GetAllConversationMessageRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistantid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantconversationid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    paginate: (f = msg.getPaginate()) && proto.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    proto.Criteria.toObject, includeInstance),\n    order: (f = msg.getOrder()) && proto.Ordering.toObject(includeInstance, f),\n    source: jspb.Message.getFieldWithDefault(msg, 7, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.GetAllConversationMessageRequest}\n */\nproto.GetAllConversationMessageRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.GetAllConversationMessageRequest;\n  return proto.GetAllConversationMessageRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.GetAllConversationMessageRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.GetAllConversationMessageRequest}\n */\nproto.GetAllConversationMessageRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantconversationid(value);\n      break;\n    case 3:\n      var value = new proto.Paginate;\n      reader.readMessage(value,proto.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 4:\n      var value = new proto.Criteria;\n      reader.readMessage(value,proto.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 5:\n      var value = new proto.Ordering;\n      reader.readMessage(value,proto.Ordering.deserializeBinaryFromReader);\n      msg.setOrder(value);\n      break;\n    case 7:\n      var value = /** @type {!proto.Source} */ (reader.readEnum());\n      msg.setSource(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.GetAllConversationMessageRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.GetAllConversationMessageRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.GetAllConversationMessageRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.GetAllConversationMessageRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantconversationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      proto.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getOrder();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      proto.Ordering.serializeBinaryToWriter\n    );\n  }\n  f = message.getSource();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      7,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 assistantId = 1;\n * @return {string}\n */\nproto.GetAllConversationMessageRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.GetAllConversationMessageRequest} returns this\n */\nproto.GetAllConversationMessageRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantConversationId = 2;\n * @return {string}\n */\nproto.GetAllConversationMessageRequest.prototype.getAssistantconversationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.GetAllConversationMessageRequest} returns this\n */\nproto.GetAllConversationMessageRequest.prototype.setAssistantconversationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional Paginate paginate = 3;\n * @return {?proto.Paginate}\n */\nproto.GetAllConversationMessageRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, proto.Paginate, 3));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.GetAllConversationMessageRequest} returns this\n*/\nproto.GetAllConversationMessageRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.GetAllConversationMessageRequest} returns this\n */\nproto.GetAllConversationMessageRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.GetAllConversationMessageRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 4;\n * @return {!Array<!proto.Criteria>}\n */\nproto.GetAllConversationMessageRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.Criteria, 4));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.GetAllConversationMessageRequest} returns this\n*/\nproto.GetAllConversationMessageRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.GetAllConversationMessageRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.GetAllConversationMessageRequest} returns this\n */\nproto.GetAllConversationMessageRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional Ordering order = 5;\n * @return {?proto.Ordering}\n */\nproto.GetAllConversationMessageRequest.prototype.getOrder = function() {\n  return /** @type{?proto.Ordering} */ (\n    jspb.Message.getWrapperField(this, proto.Ordering, 5));\n};\n\n\n/**\n * @param {?proto.Ordering|undefined} value\n * @return {!proto.GetAllConversationMessageRequest} returns this\n*/\nproto.GetAllConversationMessageRequest.prototype.setOrder = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.GetAllConversationMessageRequest} returns this\n */\nproto.GetAllConversationMessageRequest.prototype.clearOrder = function() {\n  return this.setOrder(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.GetAllConversationMessageRequest.prototype.hasOrder = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * optional Source source = 7;\n * @return {!proto.Source}\n */\nproto.GetAllConversationMessageRequest.prototype.getSource = function() {\n  return /** @type {!proto.Source} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {!proto.Source} value\n * @return {!proto.GetAllConversationMessageRequest} returns this\n */\nproto.GetAllConversationMessageRequest.prototype.setSource = function(value) {\n  return jspb.Message.setProto3EnumField(this, 7, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.GetAllConversationMessageResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.GetAllConversationMessageResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.GetAllConversationMessageResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.GetAllConversationMessageResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.GetAllConversationMessageResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.AssistantConversationMessage.toObject, includeInstance),\n    error: (f = msg.getError()) && proto.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && proto.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.GetAllConversationMessageResponse}\n */\nproto.GetAllConversationMessageResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.GetAllConversationMessageResponse;\n  return proto.GetAllConversationMessageResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.GetAllConversationMessageResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.GetAllConversationMessageResponse}\n */\nproto.GetAllConversationMessageResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.AssistantConversationMessage;\n      reader.readMessage(value,proto.AssistantConversationMessage.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new proto.Error;\n      reader.readMessage(value,proto.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new proto.Paginated;\n      reader.readMessage(value,proto.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.GetAllConversationMessageResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.GetAllConversationMessageResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.GetAllConversationMessageResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.GetAllConversationMessageResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.AssistantConversationMessage.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      proto.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.GetAllConversationMessageResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.GetAllConversationMessageResponse} returns this\n */\nproto.GetAllConversationMessageResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.GetAllConversationMessageResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.GetAllConversationMessageResponse} returns this\n */\nproto.GetAllConversationMessageResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated AssistantConversationMessage data = 3;\n * @return {!Array<!proto.AssistantConversationMessage>}\n */\nproto.GetAllConversationMessageResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.AssistantConversationMessage>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.AssistantConversationMessage, 3));\n};\n\n\n/**\n * @param {!Array<!proto.AssistantConversationMessage>} value\n * @return {!proto.GetAllConversationMessageResponse} returns this\n*/\nproto.GetAllConversationMessageResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.AssistantConversationMessage=} opt_value\n * @param {number=} opt_index\n * @return {!proto.AssistantConversationMessage}\n */\nproto.GetAllConversationMessageResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.AssistantConversationMessage, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.GetAllConversationMessageResponse} returns this\n */\nproto.GetAllConversationMessageResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.GetAllConversationMessageResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, proto.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.GetAllConversationMessageResponse} returns this\n*/\nproto.GetAllConversationMessageResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.GetAllConversationMessageResponse} returns this\n */\nproto.GetAllConversationMessageResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.GetAllConversationMessageResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.GetAllConversationMessageResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, proto.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.GetAllConversationMessageResponse} returns this\n*/\nproto.GetAllConversationMessageResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.GetAllConversationMessageResponse} returns this\n */\nproto.GetAllConversationMessageResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.GetAllConversationMessageResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * @enum {number}\n */\nproto.Source = {\n  WEB_PLUGIN: 0,\n  DEBUGGER: 1,\n  SDK: 2,\n  PHONE_CALL: 3,\n  WHATSAPP: 4\n};\n\ngoog.object.extend(exports, proto);\n","// source: talk-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_any_pb = require('google-protobuf/google/protobuf/any_pb.js');\ngoog.object.extend(proto, google_protobuf_any_pb);\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.talk_api.AssistantConversationAssistantMessage', null, global);\ngoog.exportSymbol('proto.talk_api.AssistantConversationConfiguration', null, global);\ngoog.exportSymbol('proto.talk_api.AssistantConversationInterruption', null, global);\ngoog.exportSymbol('proto.talk_api.AssistantConversationInterruption.InterruptionType', null, global);\ngoog.exportSymbol('proto.talk_api.AssistantConversationUserMessage', null, global);\ngoog.exportSymbol('proto.talk_api.AssistantDefinition', null, global);\ngoog.exportSymbol('proto.talk_api.AssistantMessagingRequest', null, global);\ngoog.exportSymbol('proto.talk_api.AssistantMessagingResponse', null, global);\ngoog.exportSymbol('proto.talk_api.AssistantMessagingResponse.DataCase', null, global);\ngoog.exportSymbol('proto.talk_api.CreateBulkPhoneCallRequest', null, global);\ngoog.exportSymbol('proto.talk_api.CreateBulkPhoneCallResponse', null, global);\ngoog.exportSymbol('proto.talk_api.CreateConversationMetricRequest', null, global);\ngoog.exportSymbol('proto.talk_api.CreateConversationMetricResponse', null, global);\ngoog.exportSymbol('proto.talk_api.CreateMessageMetricRequest', null, global);\ngoog.exportSymbol('proto.talk_api.CreateMessageMetricResponse', null, global);\ngoog.exportSymbol('proto.talk_api.CreatePhoneCallRequest', null, global);\ngoog.exportSymbol('proto.talk_api.CreatePhoneCallResponse', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.talk_api.AssistantDefinition = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.talk_api.AssistantDefinition, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.talk_api.AssistantDefinition.displayName = 'proto.talk_api.AssistantDefinition';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.talk_api.AssistantMessagingRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.talk_api.AssistantMessagingRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.talk_api.AssistantMessagingRequest.displayName = 'proto.talk_api.AssistantMessagingRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.talk_api.AssistantConversationConfiguration = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.talk_api.AssistantConversationConfiguration, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.talk_api.AssistantConversationConfiguration.displayName = 'proto.talk_api.AssistantConversationConfiguration';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.talk_api.AssistantConversationInterruption = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.talk_api.AssistantConversationInterruption, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.talk_api.AssistantConversationInterruption.displayName = 'proto.talk_api.AssistantConversationInterruption';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.talk_api.AssistantConversationUserMessage = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.talk_api.AssistantConversationUserMessage, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.talk_api.AssistantConversationUserMessage.displayName = 'proto.talk_api.AssistantConversationUserMessage';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.talk_api.AssistantConversationAssistantMessage = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.talk_api.AssistantConversationAssistantMessage, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.talk_api.AssistantConversationAssistantMessage.displayName = 'proto.talk_api.AssistantConversationAssistantMessage';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.talk_api.AssistantMessagingResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.talk_api.AssistantMessagingResponse.oneofGroups_);\n};\ngoog.inherits(proto.talk_api.AssistantMessagingResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.talk_api.AssistantMessagingResponse.displayName = 'proto.talk_api.AssistantMessagingResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.talk_api.CreateMessageMetricRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.talk_api.CreateMessageMetricRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.talk_api.CreateMessageMetricRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.talk_api.CreateMessageMetricRequest.displayName = 'proto.talk_api.CreateMessageMetricRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.talk_api.CreateMessageMetricResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.talk_api.CreateMessageMetricResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.talk_api.CreateMessageMetricResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.talk_api.CreateMessageMetricResponse.displayName = 'proto.talk_api.CreateMessageMetricResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.talk_api.CreateConversationMetricRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.talk_api.CreateConversationMetricRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.talk_api.CreateConversationMetricRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.talk_api.CreateConversationMetricRequest.displayName = 'proto.talk_api.CreateConversationMetricRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.talk_api.CreateConversationMetricResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.talk_api.CreateConversationMetricResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.talk_api.CreateConversationMetricResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.talk_api.CreateConversationMetricResponse.displayName = 'proto.talk_api.CreateConversationMetricResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.talk_api.CreatePhoneCallRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.talk_api.CreatePhoneCallRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.talk_api.CreatePhoneCallRequest.displayName = 'proto.talk_api.CreatePhoneCallRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.talk_api.CreatePhoneCallResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.talk_api.CreatePhoneCallResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.talk_api.CreatePhoneCallResponse.displayName = 'proto.talk_api.CreatePhoneCallResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.talk_api.CreateBulkPhoneCallRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.talk_api.CreateBulkPhoneCallRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.talk_api.CreateBulkPhoneCallRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.talk_api.CreateBulkPhoneCallRequest.displayName = 'proto.talk_api.CreateBulkPhoneCallRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.talk_api.CreateBulkPhoneCallResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.talk_api.CreateBulkPhoneCallResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.talk_api.CreateBulkPhoneCallResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.talk_api.CreateBulkPhoneCallResponse.displayName = 'proto.talk_api.CreateBulkPhoneCallResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.talk_api.AssistantDefinition.prototype.toObject = function(opt_includeInstance) {\n  return proto.talk_api.AssistantDefinition.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.talk_api.AssistantDefinition} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.AssistantDefinition.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistantid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    version: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.talk_api.AssistantDefinition}\n */\nproto.talk_api.AssistantDefinition.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.talk_api.AssistantDefinition;\n  return proto.talk_api.AssistantDefinition.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.talk_api.AssistantDefinition} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.talk_api.AssistantDefinition}\n */\nproto.talk_api.AssistantDefinition.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVersion(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.talk_api.AssistantDefinition.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.talk_api.AssistantDefinition.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.talk_api.AssistantDefinition} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.AssistantDefinition.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getVersion();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 assistantId = 1;\n * @return {string}\n */\nproto.talk_api.AssistantDefinition.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.talk_api.AssistantDefinition} returns this\n */\nproto.talk_api.AssistantDefinition.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string version = 2;\n * @return {string}\n */\nproto.talk_api.AssistantDefinition.prototype.getVersion = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.talk_api.AssistantDefinition} returns this\n */\nproto.talk_api.AssistantDefinition.prototype.setVersion = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.talk_api.AssistantMessagingRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.talk_api.AssistantMessagingRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.talk_api.AssistantMessagingRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.AssistantMessagingRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistant: (f = msg.getAssistant()) && proto.talk_api.AssistantDefinition.toObject(includeInstance, f),\n    message: (f = msg.getMessage()) && common_pb.Message.toObject(includeInstance, f),\n    assistantconversationid: jspb.Message.getFieldWithDefault(msg, 4, \"0\"),\n    metadataMap: (f = msg.getMetadataMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : [],\n    source: jspb.Message.getFieldWithDefault(msg, 7, 0),\n    argsMap: (f = msg.getArgsMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : [],\n    optionsMap: (f = msg.getOptionsMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.talk_api.AssistantMessagingRequest}\n */\nproto.talk_api.AssistantMessagingRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.talk_api.AssistantMessagingRequest;\n  return proto.talk_api.AssistantMessagingRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.talk_api.AssistantMessagingRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.talk_api.AssistantMessagingRequest}\n */\nproto.talk_api.AssistantMessagingRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 2:\n      var value = new proto.talk_api.AssistantDefinition;\n      reader.readMessage(value,proto.talk_api.AssistantDefinition.deserializeBinaryFromReader);\n      msg.setAssistant(value);\n      break;\n    case 3:\n      var value = new common_pb.Message;\n      reader.readMessage(value,common_pb.Message.deserializeBinaryFromReader);\n      msg.setMessage(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantconversationid(value);\n      break;\n    case 6:\n      var value = msg.getMetadataMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    case 7:\n      var value = /** @type {!proto.Source} */ (reader.readEnum());\n      msg.setSource(value);\n      break;\n    case 10:\n      var value = msg.getArgsMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    case 11:\n      var value = msg.getOptionsMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.talk_api.AssistantMessagingRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.talk_api.AssistantMessagingRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.talk_api.AssistantMessagingRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.AssistantMessagingRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistant();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.talk_api.AssistantDefinition.serializeBinaryToWriter\n    );\n  }\n  f = message.getMessage();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Message.serializeBinaryToWriter\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 4));\n  if (f != null) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n  f = message.getMetadataMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n  f = message.getSource();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      7,\n      f\n    );\n  }\n  f = message.getArgsMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(10, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n  f = message.getOptionsMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(11, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n};\n\n\n/**\n * optional AssistantDefinition assistant = 2;\n * @return {?proto.talk_api.AssistantDefinition}\n */\nproto.talk_api.AssistantMessagingRequest.prototype.getAssistant = function() {\n  return /** @type{?proto.talk_api.AssistantDefinition} */ (\n    jspb.Message.getWrapperField(this, proto.talk_api.AssistantDefinition, 2));\n};\n\n\n/**\n * @param {?proto.talk_api.AssistantDefinition|undefined} value\n * @return {!proto.talk_api.AssistantMessagingRequest} returns this\n*/\nproto.talk_api.AssistantMessagingRequest.prototype.setAssistant = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.AssistantMessagingRequest} returns this\n */\nproto.talk_api.AssistantMessagingRequest.prototype.clearAssistant = function() {\n  return this.setAssistant(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.AssistantMessagingRequest.prototype.hasAssistant = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional Message message = 3;\n * @return {?proto.Message}\n */\nproto.talk_api.AssistantMessagingRequest.prototype.getMessage = function() {\n  return /** @type{?proto.Message} */ (\n    jspb.Message.getWrapperField(this, common_pb.Message, 3));\n};\n\n\n/**\n * @param {?proto.Message|undefined} value\n * @return {!proto.talk_api.AssistantMessagingRequest} returns this\n*/\nproto.talk_api.AssistantMessagingRequest.prototype.setMessage = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.AssistantMessagingRequest} returns this\n */\nproto.talk_api.AssistantMessagingRequest.prototype.clearMessage = function() {\n  return this.setMessage(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.AssistantMessagingRequest.prototype.hasMessage = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional uint64 assistantConversationId = 4;\n * @return {string}\n */\nproto.talk_api.AssistantMessagingRequest.prototype.getAssistantconversationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.talk_api.AssistantMessagingRequest} returns this\n */\nproto.talk_api.AssistantMessagingRequest.prototype.setAssistantconversationid = function(value) {\n  return jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.talk_api.AssistantMessagingRequest} returns this\n */\nproto.talk_api.AssistantMessagingRequest.prototype.clearAssistantconversationid = function() {\n  return jspb.Message.setField(this, 4, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.AssistantMessagingRequest.prototype.hasAssistantconversationid = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * map<string, google.protobuf.Any> metadata = 6;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.talk_api.AssistantMessagingRequest.prototype.getMetadataMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 6, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.talk_api.AssistantMessagingRequest} returns this\n */\nproto.talk_api.AssistantMessagingRequest.prototype.clearMetadataMap = function() {\n  this.getMetadataMap().clear();\n  return this;};\n\n\n/**\n * optional Source source = 7;\n * @return {!proto.Source}\n */\nproto.talk_api.AssistantMessagingRequest.prototype.getSource = function() {\n  return /** @type {!proto.Source} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {!proto.Source} value\n * @return {!proto.talk_api.AssistantMessagingRequest} returns this\n */\nproto.talk_api.AssistantMessagingRequest.prototype.setSource = function(value) {\n  return jspb.Message.setProto3EnumField(this, 7, value);\n};\n\n\n/**\n * map<string, google.protobuf.Any> args = 10;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.talk_api.AssistantMessagingRequest.prototype.getArgsMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 10, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.talk_api.AssistantMessagingRequest} returns this\n */\nproto.talk_api.AssistantMessagingRequest.prototype.clearArgsMap = function() {\n  this.getArgsMap().clear();\n  return this;};\n\n\n/**\n * map<string, google.protobuf.Any> options = 11;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.talk_api.AssistantMessagingRequest.prototype.getOptionsMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 11, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.talk_api.AssistantMessagingRequest} returns this\n */\nproto.talk_api.AssistantMessagingRequest.prototype.clearOptionsMap = function() {\n  this.getOptionsMap().clear();\n  return this;};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.talk_api.AssistantConversationConfiguration.prototype.toObject = function(opt_includeInstance) {\n  return proto.talk_api.AssistantConversationConfiguration.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.talk_api.AssistantConversationConfiguration} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.AssistantConversationConfiguration.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistantconversationid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistant: (f = msg.getAssistant()) && proto.talk_api.AssistantDefinition.toObject(includeInstance, f),\n    time: (f = msg.getTime()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.talk_api.AssistantConversationConfiguration}\n */\nproto.talk_api.AssistantConversationConfiguration.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.talk_api.AssistantConversationConfiguration;\n  return proto.talk_api.AssistantConversationConfiguration.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.talk_api.AssistantConversationConfiguration} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.talk_api.AssistantConversationConfiguration}\n */\nproto.talk_api.AssistantConversationConfiguration.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantconversationid(value);\n      break;\n    case 2:\n      var value = new proto.talk_api.AssistantDefinition;\n      reader.readMessage(value,proto.talk_api.AssistantDefinition.deserializeBinaryFromReader);\n      msg.setAssistant(value);\n      break;\n    case 3:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setTime(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.talk_api.AssistantConversationConfiguration.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.talk_api.AssistantConversationConfiguration.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.talk_api.AssistantConversationConfiguration} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.AssistantConversationConfiguration.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistantconversationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistant();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.talk_api.AssistantDefinition.serializeBinaryToWriter\n    );\n  }\n  f = message.getTime();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 assistantConversationId = 1;\n * @return {string}\n */\nproto.talk_api.AssistantConversationConfiguration.prototype.getAssistantconversationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.talk_api.AssistantConversationConfiguration} returns this\n */\nproto.talk_api.AssistantConversationConfiguration.prototype.setAssistantconversationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional AssistantDefinition assistant = 2;\n * @return {?proto.talk_api.AssistantDefinition}\n */\nproto.talk_api.AssistantConversationConfiguration.prototype.getAssistant = function() {\n  return /** @type{?proto.talk_api.AssistantDefinition} */ (\n    jspb.Message.getWrapperField(this, proto.talk_api.AssistantDefinition, 2));\n};\n\n\n/**\n * @param {?proto.talk_api.AssistantDefinition|undefined} value\n * @return {!proto.talk_api.AssistantConversationConfiguration} returns this\n*/\nproto.talk_api.AssistantConversationConfiguration.prototype.setAssistant = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.AssistantConversationConfiguration} returns this\n */\nproto.talk_api.AssistantConversationConfiguration.prototype.clearAssistant = function() {\n  return this.setAssistant(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.AssistantConversationConfiguration.prototype.hasAssistant = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp time = 3;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.talk_api.AssistantConversationConfiguration.prototype.getTime = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 3));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.talk_api.AssistantConversationConfiguration} returns this\n*/\nproto.talk_api.AssistantConversationConfiguration.prototype.setTime = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.AssistantConversationConfiguration} returns this\n */\nproto.talk_api.AssistantConversationConfiguration.prototype.clearTime = function() {\n  return this.setTime(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.AssistantConversationConfiguration.prototype.hasTime = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.talk_api.AssistantConversationInterruption.prototype.toObject = function(opt_includeInstance) {\n  return proto.talk_api.AssistantConversationInterruption.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.talk_api.AssistantConversationInterruption} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.AssistantConversationInterruption.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    type: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    time: (f = msg.getTime()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.talk_api.AssistantConversationInterruption}\n */\nproto.talk_api.AssistantConversationInterruption.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.talk_api.AssistantConversationInterruption;\n  return proto.talk_api.AssistantConversationInterruption.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.talk_api.AssistantConversationInterruption} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.talk_api.AssistantConversationInterruption}\n */\nproto.talk_api.AssistantConversationInterruption.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {!proto.talk_api.AssistantConversationInterruption.InterruptionType} */ (reader.readEnum());\n      msg.setType(value);\n      break;\n    case 3:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setTime(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.talk_api.AssistantConversationInterruption.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.talk_api.AssistantConversationInterruption.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.talk_api.AssistantConversationInterruption} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.AssistantConversationInterruption.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getType();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      2,\n      f\n    );\n  }\n  f = message.getTime();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * @enum {number}\n */\nproto.talk_api.AssistantConversationInterruption.InterruptionType = {\n  INTERRUPTION_TYPE_UNSPECIFIED: 0,\n  INTERRUPTION_TYPE_VAD: 1,\n  INTERRUPTION_TYPE_WORD: 2\n};\n\n/**\n * optional string id = 1;\n * @return {string}\n */\nproto.talk_api.AssistantConversationInterruption.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.talk_api.AssistantConversationInterruption} returns this\n */\nproto.talk_api.AssistantConversationInterruption.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional InterruptionType type = 2;\n * @return {!proto.talk_api.AssistantConversationInterruption.InterruptionType}\n */\nproto.talk_api.AssistantConversationInterruption.prototype.getType = function() {\n  return /** @type {!proto.talk_api.AssistantConversationInterruption.InterruptionType} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.talk_api.AssistantConversationInterruption.InterruptionType} value\n * @return {!proto.talk_api.AssistantConversationInterruption} returns this\n */\nproto.talk_api.AssistantConversationInterruption.prototype.setType = function(value) {\n  return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp time = 3;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.talk_api.AssistantConversationInterruption.prototype.getTime = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 3));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.talk_api.AssistantConversationInterruption} returns this\n*/\nproto.talk_api.AssistantConversationInterruption.prototype.setTime = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.AssistantConversationInterruption} returns this\n */\nproto.talk_api.AssistantConversationInterruption.prototype.clearTime = function() {\n  return this.setTime(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.AssistantConversationInterruption.prototype.hasTime = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.talk_api.AssistantConversationUserMessage.prototype.toObject = function(opt_includeInstance) {\n  return proto.talk_api.AssistantConversationUserMessage.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.talk_api.AssistantConversationUserMessage} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.AssistantConversationUserMessage.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    message: (f = msg.getMessage()) && common_pb.Message.toObject(includeInstance, f),\n    id: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    completed: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),\n    time: (f = msg.getTime()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.talk_api.AssistantConversationUserMessage}\n */\nproto.talk_api.AssistantConversationUserMessage.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.talk_api.AssistantConversationUserMessage;\n  return proto.talk_api.AssistantConversationUserMessage.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.talk_api.AssistantConversationUserMessage} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.talk_api.AssistantConversationUserMessage}\n */\nproto.talk_api.AssistantConversationUserMessage.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Message;\n      reader.readMessage(value,common_pb.Message.deserializeBinaryFromReader);\n      msg.setMessage(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setId(value);\n      break;\n    case 3:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setCompleted(value);\n      break;\n    case 4:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setTime(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.talk_api.AssistantConversationUserMessage.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.talk_api.AssistantConversationUserMessage.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.talk_api.AssistantConversationUserMessage} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.AssistantConversationUserMessage.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getMessage();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Message.serializeBinaryToWriter\n    );\n  }\n  f = message.getId();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getCompleted();\n  if (f) {\n    writer.writeBool(\n      3,\n      f\n    );\n  }\n  f = message.getTime();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Message message = 1;\n * @return {?proto.Message}\n */\nproto.talk_api.AssistantConversationUserMessage.prototype.getMessage = function() {\n  return /** @type{?proto.Message} */ (\n    jspb.Message.getWrapperField(this, common_pb.Message, 1));\n};\n\n\n/**\n * @param {?proto.Message|undefined} value\n * @return {!proto.talk_api.AssistantConversationUserMessage} returns this\n*/\nproto.talk_api.AssistantConversationUserMessage.prototype.setMessage = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.AssistantConversationUserMessage} returns this\n */\nproto.talk_api.AssistantConversationUserMessage.prototype.clearMessage = function() {\n  return this.setMessage(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.AssistantConversationUserMessage.prototype.hasMessage = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string id = 2;\n * @return {string}\n */\nproto.talk_api.AssistantConversationUserMessage.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.talk_api.AssistantConversationUserMessage} returns this\n */\nproto.talk_api.AssistantConversationUserMessage.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional bool completed = 3;\n * @return {boolean}\n */\nproto.talk_api.AssistantConversationUserMessage.prototype.getCompleted = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.talk_api.AssistantConversationUserMessage} returns this\n */\nproto.talk_api.AssistantConversationUserMessage.prototype.setCompleted = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp time = 4;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.talk_api.AssistantConversationUserMessage.prototype.getTime = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 4));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.talk_api.AssistantConversationUserMessage} returns this\n*/\nproto.talk_api.AssistantConversationUserMessage.prototype.setTime = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.AssistantConversationUserMessage} returns this\n */\nproto.talk_api.AssistantConversationUserMessage.prototype.clearTime = function() {\n  return this.setTime(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.AssistantConversationUserMessage.prototype.hasTime = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.talk_api.AssistantConversationAssistantMessage.prototype.toObject = function(opt_includeInstance) {\n  return proto.talk_api.AssistantConversationAssistantMessage.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.talk_api.AssistantConversationAssistantMessage} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.AssistantConversationAssistantMessage.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    message: (f = msg.getMessage()) && common_pb.Message.toObject(includeInstance, f),\n    id: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    completed: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),\n    time: (f = msg.getTime()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.talk_api.AssistantConversationAssistantMessage}\n */\nproto.talk_api.AssistantConversationAssistantMessage.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.talk_api.AssistantConversationAssistantMessage;\n  return proto.talk_api.AssistantConversationAssistantMessage.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.talk_api.AssistantConversationAssistantMessage} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.talk_api.AssistantConversationAssistantMessage}\n */\nproto.talk_api.AssistantConversationAssistantMessage.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Message;\n      reader.readMessage(value,common_pb.Message.deserializeBinaryFromReader);\n      msg.setMessage(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setId(value);\n      break;\n    case 3:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setCompleted(value);\n      break;\n    case 4:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setTime(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.talk_api.AssistantConversationAssistantMessage.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.talk_api.AssistantConversationAssistantMessage.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.talk_api.AssistantConversationAssistantMessage} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.AssistantConversationAssistantMessage.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getMessage();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Message.serializeBinaryToWriter\n    );\n  }\n  f = message.getId();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getCompleted();\n  if (f) {\n    writer.writeBool(\n      3,\n      f\n    );\n  }\n  f = message.getTime();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Message message = 1;\n * @return {?proto.Message}\n */\nproto.talk_api.AssistantConversationAssistantMessage.prototype.getMessage = function() {\n  return /** @type{?proto.Message} */ (\n    jspb.Message.getWrapperField(this, common_pb.Message, 1));\n};\n\n\n/**\n * @param {?proto.Message|undefined} value\n * @return {!proto.talk_api.AssistantConversationAssistantMessage} returns this\n*/\nproto.talk_api.AssistantConversationAssistantMessage.prototype.setMessage = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.AssistantConversationAssistantMessage} returns this\n */\nproto.talk_api.AssistantConversationAssistantMessage.prototype.clearMessage = function() {\n  return this.setMessage(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.AssistantConversationAssistantMessage.prototype.hasMessage = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string id = 2;\n * @return {string}\n */\nproto.talk_api.AssistantConversationAssistantMessage.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.talk_api.AssistantConversationAssistantMessage} returns this\n */\nproto.talk_api.AssistantConversationAssistantMessage.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional bool completed = 3;\n * @return {boolean}\n */\nproto.talk_api.AssistantConversationAssistantMessage.prototype.getCompleted = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.talk_api.AssistantConversationAssistantMessage} returns this\n */\nproto.talk_api.AssistantConversationAssistantMessage.prototype.setCompleted = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp time = 4;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.talk_api.AssistantConversationAssistantMessage.prototype.getTime = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 4));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.talk_api.AssistantConversationAssistantMessage} returns this\n*/\nproto.talk_api.AssistantConversationAssistantMessage.prototype.setTime = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.AssistantConversationAssistantMessage} returns this\n */\nproto.talk_api.AssistantConversationAssistantMessage.prototype.clearTime = function() {\n  return this.setTime(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.AssistantConversationAssistantMessage.prototype.hasTime = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array<!Array<number>>}\n * @const\n */\nproto.talk_api.AssistantMessagingResponse.oneofGroups_ = [[9,10,11,12,13]];\n\n/**\n * @enum {number}\n */\nproto.talk_api.AssistantMessagingResponse.DataCase = {\n  DATA_NOT_SET: 0,\n  CONFIGURATION: 9,\n  INTERRUPTION: 10,\n  USER: 11,\n  ASSISTANT: 12,\n  MESSAGE: 13\n};\n\n/**\n * @return {proto.talk_api.AssistantMessagingResponse.DataCase}\n */\nproto.talk_api.AssistantMessagingResponse.prototype.getDataCase = function() {\n  return /** @type {proto.talk_api.AssistantMessagingResponse.DataCase} */(jspb.Message.computeOneofCase(this, proto.talk_api.AssistantMessagingResponse.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.talk_api.AssistantMessagingResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.talk_api.AssistantMessagingResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.talk_api.AssistantMessagingResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.AssistantMessagingResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    configuration: (f = msg.getConfiguration()) && proto.talk_api.AssistantConversationConfiguration.toObject(includeInstance, f),\n    interruption: (f = msg.getInterruption()) && proto.talk_api.AssistantConversationInterruption.toObject(includeInstance, f),\n    user: (f = msg.getUser()) && proto.talk_api.AssistantConversationUserMessage.toObject(includeInstance, f),\n    assistant: (f = msg.getAssistant()) && proto.talk_api.AssistantConversationAssistantMessage.toObject(includeInstance, f),\n    message: (f = msg.getMessage()) && common_pb.AssistantConversationMessage.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.talk_api.AssistantMessagingResponse}\n */\nproto.talk_api.AssistantMessagingResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.talk_api.AssistantMessagingResponse;\n  return proto.talk_api.AssistantMessagingResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.talk_api.AssistantMessagingResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.talk_api.AssistantMessagingResponse}\n */\nproto.talk_api.AssistantMessagingResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 9:\n      var value = new proto.talk_api.AssistantConversationConfiguration;\n      reader.readMessage(value,proto.talk_api.AssistantConversationConfiguration.deserializeBinaryFromReader);\n      msg.setConfiguration(value);\n      break;\n    case 10:\n      var value = new proto.talk_api.AssistantConversationInterruption;\n      reader.readMessage(value,proto.talk_api.AssistantConversationInterruption.deserializeBinaryFromReader);\n      msg.setInterruption(value);\n      break;\n    case 11:\n      var value = new proto.talk_api.AssistantConversationUserMessage;\n      reader.readMessage(value,proto.talk_api.AssistantConversationUserMessage.deserializeBinaryFromReader);\n      msg.setUser(value);\n      break;\n    case 12:\n      var value = new proto.talk_api.AssistantConversationAssistantMessage;\n      reader.readMessage(value,proto.talk_api.AssistantConversationAssistantMessage.deserializeBinaryFromReader);\n      msg.setAssistant(value);\n      break;\n    case 13:\n      var value = new common_pb.AssistantConversationMessage;\n      reader.readMessage(value,common_pb.AssistantConversationMessage.deserializeBinaryFromReader);\n      msg.setMessage(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.talk_api.AssistantMessagingResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.talk_api.AssistantMessagingResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.talk_api.AssistantMessagingResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.AssistantMessagingResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getConfiguration();\n  if (f != null) {\n    writer.writeMessage(\n      9,\n      f,\n      proto.talk_api.AssistantConversationConfiguration.serializeBinaryToWriter\n    );\n  }\n  f = message.getInterruption();\n  if (f != null) {\n    writer.writeMessage(\n      10,\n      f,\n      proto.talk_api.AssistantConversationInterruption.serializeBinaryToWriter\n    );\n  }\n  f = message.getUser();\n  if (f != null) {\n    writer.writeMessage(\n      11,\n      f,\n      proto.talk_api.AssistantConversationUserMessage.serializeBinaryToWriter\n    );\n  }\n  f = message.getAssistant();\n  if (f != null) {\n    writer.writeMessage(\n      12,\n      f,\n      proto.talk_api.AssistantConversationAssistantMessage.serializeBinaryToWriter\n    );\n  }\n  f = message.getMessage();\n  if (f != null) {\n    writer.writeMessage(\n      13,\n      f,\n      common_pb.AssistantConversationMessage.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.talk_api.AssistantMessagingResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.talk_api.AssistantMessagingResponse} returns this\n */\nproto.talk_api.AssistantMessagingResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.talk_api.AssistantMessagingResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.talk_api.AssistantMessagingResponse} returns this\n */\nproto.talk_api.AssistantMessagingResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.talk_api.AssistantMessagingResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.talk_api.AssistantMessagingResponse} returns this\n*/\nproto.talk_api.AssistantMessagingResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.AssistantMessagingResponse} returns this\n */\nproto.talk_api.AssistantMessagingResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.AssistantMessagingResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional AssistantConversationConfiguration configuration = 9;\n * @return {?proto.talk_api.AssistantConversationConfiguration}\n */\nproto.talk_api.AssistantMessagingResponse.prototype.getConfiguration = function() {\n  return /** @type{?proto.talk_api.AssistantConversationConfiguration} */ (\n    jspb.Message.getWrapperField(this, proto.talk_api.AssistantConversationConfiguration, 9));\n};\n\n\n/**\n * @param {?proto.talk_api.AssistantConversationConfiguration|undefined} value\n * @return {!proto.talk_api.AssistantMessagingResponse} returns this\n*/\nproto.talk_api.AssistantMessagingResponse.prototype.setConfiguration = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 9, proto.talk_api.AssistantMessagingResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.AssistantMessagingResponse} returns this\n */\nproto.talk_api.AssistantMessagingResponse.prototype.clearConfiguration = function() {\n  return this.setConfiguration(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.AssistantMessagingResponse.prototype.hasConfiguration = function() {\n  return jspb.Message.getField(this, 9) != null;\n};\n\n\n/**\n * optional AssistantConversationInterruption interruption = 10;\n * @return {?proto.talk_api.AssistantConversationInterruption}\n */\nproto.talk_api.AssistantMessagingResponse.prototype.getInterruption = function() {\n  return /** @type{?proto.talk_api.AssistantConversationInterruption} */ (\n    jspb.Message.getWrapperField(this, proto.talk_api.AssistantConversationInterruption, 10));\n};\n\n\n/**\n * @param {?proto.talk_api.AssistantConversationInterruption|undefined} value\n * @return {!proto.talk_api.AssistantMessagingResponse} returns this\n*/\nproto.talk_api.AssistantMessagingResponse.prototype.setInterruption = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 10, proto.talk_api.AssistantMessagingResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.AssistantMessagingResponse} returns this\n */\nproto.talk_api.AssistantMessagingResponse.prototype.clearInterruption = function() {\n  return this.setInterruption(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.AssistantMessagingResponse.prototype.hasInterruption = function() {\n  return jspb.Message.getField(this, 10) != null;\n};\n\n\n/**\n * optional AssistantConversationUserMessage user = 11;\n * @return {?proto.talk_api.AssistantConversationUserMessage}\n */\nproto.talk_api.AssistantMessagingResponse.prototype.getUser = function() {\n  return /** @type{?proto.talk_api.AssistantConversationUserMessage} */ (\n    jspb.Message.getWrapperField(this, proto.talk_api.AssistantConversationUserMessage, 11));\n};\n\n\n/**\n * @param {?proto.talk_api.AssistantConversationUserMessage|undefined} value\n * @return {!proto.talk_api.AssistantMessagingResponse} returns this\n*/\nproto.talk_api.AssistantMessagingResponse.prototype.setUser = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 11, proto.talk_api.AssistantMessagingResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.AssistantMessagingResponse} returns this\n */\nproto.talk_api.AssistantMessagingResponse.prototype.clearUser = function() {\n  return this.setUser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.AssistantMessagingResponse.prototype.hasUser = function() {\n  return jspb.Message.getField(this, 11) != null;\n};\n\n\n/**\n * optional AssistantConversationAssistantMessage assistant = 12;\n * @return {?proto.talk_api.AssistantConversationAssistantMessage}\n */\nproto.talk_api.AssistantMessagingResponse.prototype.getAssistant = function() {\n  return /** @type{?proto.talk_api.AssistantConversationAssistantMessage} */ (\n    jspb.Message.getWrapperField(this, proto.talk_api.AssistantConversationAssistantMessage, 12));\n};\n\n\n/**\n * @param {?proto.talk_api.AssistantConversationAssistantMessage|undefined} value\n * @return {!proto.talk_api.AssistantMessagingResponse} returns this\n*/\nproto.talk_api.AssistantMessagingResponse.prototype.setAssistant = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 12, proto.talk_api.AssistantMessagingResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.AssistantMessagingResponse} returns this\n */\nproto.talk_api.AssistantMessagingResponse.prototype.clearAssistant = function() {\n  return this.setAssistant(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.AssistantMessagingResponse.prototype.hasAssistant = function() {\n  return jspb.Message.getField(this, 12) != null;\n};\n\n\n/**\n * optional AssistantConversationMessage message = 13;\n * @return {?proto.AssistantConversationMessage}\n */\nproto.talk_api.AssistantMessagingResponse.prototype.getMessage = function() {\n  return /** @type{?proto.AssistantConversationMessage} */ (\n    jspb.Message.getWrapperField(this, common_pb.AssistantConversationMessage, 13));\n};\n\n\n/**\n * @param {?proto.AssistantConversationMessage|undefined} value\n * @return {!proto.talk_api.AssistantMessagingResponse} returns this\n*/\nproto.talk_api.AssistantMessagingResponse.prototype.setMessage = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 13, proto.talk_api.AssistantMessagingResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.AssistantMessagingResponse} returns this\n */\nproto.talk_api.AssistantMessagingResponse.prototype.clearMessage = function() {\n  return this.setMessage(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.AssistantMessagingResponse.prototype.hasMessage = function() {\n  return jspb.Message.getField(this, 13) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.talk_api.CreateMessageMetricRequest.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.talk_api.CreateMessageMetricRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.talk_api.CreateMessageMetricRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.talk_api.CreateMessageMetricRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.CreateMessageMetricRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistantid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantconversationid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    messageid: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    common_pb.Metric.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.talk_api.CreateMessageMetricRequest}\n */\nproto.talk_api.CreateMessageMetricRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.talk_api.CreateMessageMetricRequest;\n  return proto.talk_api.CreateMessageMetricRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.talk_api.CreateMessageMetricRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.talk_api.CreateMessageMetricRequest}\n */\nproto.talk_api.CreateMessageMetricRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantconversationid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setMessageid(value);\n      break;\n    case 4:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.talk_api.CreateMessageMetricRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.talk_api.CreateMessageMetricRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.talk_api.CreateMessageMetricRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.CreateMessageMetricRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantconversationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getMessageid();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 assistantId = 1;\n * @return {string}\n */\nproto.talk_api.CreateMessageMetricRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.talk_api.CreateMessageMetricRequest} returns this\n */\nproto.talk_api.CreateMessageMetricRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantConversationId = 2;\n * @return {string}\n */\nproto.talk_api.CreateMessageMetricRequest.prototype.getAssistantconversationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.talk_api.CreateMessageMetricRequest} returns this\n */\nproto.talk_api.CreateMessageMetricRequest.prototype.setAssistantconversationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional string messageId = 3;\n * @return {string}\n */\nproto.talk_api.CreateMessageMetricRequest.prototype.getMessageid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.talk_api.CreateMessageMetricRequest} returns this\n */\nproto.talk_api.CreateMessageMetricRequest.prototype.setMessageid = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * repeated Metric metrics = 4;\n * @return {!Array<!proto.Metric>}\n */\nproto.talk_api.CreateMessageMetricRequest.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 4));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.talk_api.CreateMessageMetricRequest} returns this\n*/\nproto.talk_api.CreateMessageMetricRequest.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.talk_api.CreateMessageMetricRequest.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.talk_api.CreateMessageMetricRequest} returns this\n */\nproto.talk_api.CreateMessageMetricRequest.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.talk_api.CreateMessageMetricResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.talk_api.CreateMessageMetricResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.talk_api.CreateMessageMetricResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.talk_api.CreateMessageMetricResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.CreateMessageMetricResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    common_pb.Metric.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.talk_api.CreateMessageMetricResponse}\n */\nproto.talk_api.CreateMessageMetricResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.talk_api.CreateMessageMetricResponse;\n  return proto.talk_api.CreateMessageMetricResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.talk_api.CreateMessageMetricResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.talk_api.CreateMessageMetricResponse}\n */\nproto.talk_api.CreateMessageMetricResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.talk_api.CreateMessageMetricResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.talk_api.CreateMessageMetricResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.talk_api.CreateMessageMetricResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.CreateMessageMetricResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.talk_api.CreateMessageMetricResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.talk_api.CreateMessageMetricResponse} returns this\n */\nproto.talk_api.CreateMessageMetricResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.talk_api.CreateMessageMetricResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.talk_api.CreateMessageMetricResponse} returns this\n */\nproto.talk_api.CreateMessageMetricResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated Metric data = 3;\n * @return {!Array<!proto.Metric>}\n */\nproto.talk_api.CreateMessageMetricResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 3));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.talk_api.CreateMessageMetricResponse} returns this\n*/\nproto.talk_api.CreateMessageMetricResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.talk_api.CreateMessageMetricResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.talk_api.CreateMessageMetricResponse} returns this\n */\nproto.talk_api.CreateMessageMetricResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.talk_api.CreateMessageMetricResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.talk_api.CreateMessageMetricResponse} returns this\n*/\nproto.talk_api.CreateMessageMetricResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.CreateMessageMetricResponse} returns this\n */\nproto.talk_api.CreateMessageMetricResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.CreateMessageMetricResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.talk_api.CreateConversationMetricRequest.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.talk_api.CreateConversationMetricRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.talk_api.CreateConversationMetricRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.talk_api.CreateConversationMetricRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.CreateConversationMetricRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistantid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantconversationid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    common_pb.Metric.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.talk_api.CreateConversationMetricRequest}\n */\nproto.talk_api.CreateConversationMetricRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.talk_api.CreateConversationMetricRequest;\n  return proto.talk_api.CreateConversationMetricRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.talk_api.CreateConversationMetricRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.talk_api.CreateConversationMetricRequest}\n */\nproto.talk_api.CreateConversationMetricRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantconversationid(value);\n      break;\n    case 3:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.talk_api.CreateConversationMetricRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.talk_api.CreateConversationMetricRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.talk_api.CreateConversationMetricRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.CreateConversationMetricRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantconversationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 assistantId = 1;\n * @return {string}\n */\nproto.talk_api.CreateConversationMetricRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.talk_api.CreateConversationMetricRequest} returns this\n */\nproto.talk_api.CreateConversationMetricRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantConversationId = 2;\n * @return {string}\n */\nproto.talk_api.CreateConversationMetricRequest.prototype.getAssistantconversationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.talk_api.CreateConversationMetricRequest} returns this\n */\nproto.talk_api.CreateConversationMetricRequest.prototype.setAssistantconversationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * repeated Metric metrics = 3;\n * @return {!Array<!proto.Metric>}\n */\nproto.talk_api.CreateConversationMetricRequest.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 3));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.talk_api.CreateConversationMetricRequest} returns this\n*/\nproto.talk_api.CreateConversationMetricRequest.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.talk_api.CreateConversationMetricRequest.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.talk_api.CreateConversationMetricRequest} returns this\n */\nproto.talk_api.CreateConversationMetricRequest.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.talk_api.CreateConversationMetricResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.talk_api.CreateConversationMetricResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.talk_api.CreateConversationMetricResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.talk_api.CreateConversationMetricResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.CreateConversationMetricResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    common_pb.Metric.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.talk_api.CreateConversationMetricResponse}\n */\nproto.talk_api.CreateConversationMetricResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.talk_api.CreateConversationMetricResponse;\n  return proto.talk_api.CreateConversationMetricResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.talk_api.CreateConversationMetricResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.talk_api.CreateConversationMetricResponse}\n */\nproto.talk_api.CreateConversationMetricResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.talk_api.CreateConversationMetricResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.talk_api.CreateConversationMetricResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.talk_api.CreateConversationMetricResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.CreateConversationMetricResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.talk_api.CreateConversationMetricResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.talk_api.CreateConversationMetricResponse} returns this\n */\nproto.talk_api.CreateConversationMetricResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.talk_api.CreateConversationMetricResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.talk_api.CreateConversationMetricResponse} returns this\n */\nproto.talk_api.CreateConversationMetricResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated Metric data = 3;\n * @return {!Array<!proto.Metric>}\n */\nproto.talk_api.CreateConversationMetricResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 3));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.talk_api.CreateConversationMetricResponse} returns this\n*/\nproto.talk_api.CreateConversationMetricResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.talk_api.CreateConversationMetricResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.talk_api.CreateConversationMetricResponse} returns this\n */\nproto.talk_api.CreateConversationMetricResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.talk_api.CreateConversationMetricResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.talk_api.CreateConversationMetricResponse} returns this\n*/\nproto.talk_api.CreateConversationMetricResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.CreateConversationMetricResponse} returns this\n */\nproto.talk_api.CreateConversationMetricResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.CreateConversationMetricResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.talk_api.CreatePhoneCallRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.talk_api.CreatePhoneCallRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.talk_api.CreatePhoneCallRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.CreatePhoneCallRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistant: (f = msg.getAssistant()) && proto.talk_api.AssistantDefinition.toObject(includeInstance, f),\n    metadataMap: (f = msg.getMetadataMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : [],\n    argsMap: (f = msg.getArgsMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : [],\n    optionsMap: (f = msg.getOptionsMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : [],\n    fromnumber: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    tonumber: jspb.Message.getFieldWithDefault(msg, 7, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.talk_api.CreatePhoneCallRequest}\n */\nproto.talk_api.CreatePhoneCallRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.talk_api.CreatePhoneCallRequest;\n  return proto.talk_api.CreatePhoneCallRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.talk_api.CreatePhoneCallRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.talk_api.CreatePhoneCallRequest}\n */\nproto.talk_api.CreatePhoneCallRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.talk_api.AssistantDefinition;\n      reader.readMessage(value,proto.talk_api.AssistantDefinition.deserializeBinaryFromReader);\n      msg.setAssistant(value);\n      break;\n    case 3:\n      var value = msg.getMetadataMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    case 4:\n      var value = msg.getArgsMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    case 5:\n      var value = msg.getOptionsMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setFromnumber(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setTonumber(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.talk_api.CreatePhoneCallRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.talk_api.CreatePhoneCallRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.talk_api.CreatePhoneCallRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.CreatePhoneCallRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistant();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.talk_api.AssistantDefinition.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetadataMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(3, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n  f = message.getArgsMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(4, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n  f = message.getOptionsMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(5, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n  f = message.getFromnumber();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getTonumber();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n};\n\n\n/**\n * optional AssistantDefinition assistant = 1;\n * @return {?proto.talk_api.AssistantDefinition}\n */\nproto.talk_api.CreatePhoneCallRequest.prototype.getAssistant = function() {\n  return /** @type{?proto.talk_api.AssistantDefinition} */ (\n    jspb.Message.getWrapperField(this, proto.talk_api.AssistantDefinition, 1));\n};\n\n\n/**\n * @param {?proto.talk_api.AssistantDefinition|undefined} value\n * @return {!proto.talk_api.CreatePhoneCallRequest} returns this\n*/\nproto.talk_api.CreatePhoneCallRequest.prototype.setAssistant = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.CreatePhoneCallRequest} returns this\n */\nproto.talk_api.CreatePhoneCallRequest.prototype.clearAssistant = function() {\n  return this.setAssistant(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.CreatePhoneCallRequest.prototype.hasAssistant = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * map<string, google.protobuf.Any> metadata = 3;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.talk_api.CreatePhoneCallRequest.prototype.getMetadataMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 3, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.talk_api.CreatePhoneCallRequest} returns this\n */\nproto.talk_api.CreatePhoneCallRequest.prototype.clearMetadataMap = function() {\n  this.getMetadataMap().clear();\n  return this;};\n\n\n/**\n * map<string, google.protobuf.Any> args = 4;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.talk_api.CreatePhoneCallRequest.prototype.getArgsMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 4, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.talk_api.CreatePhoneCallRequest} returns this\n */\nproto.talk_api.CreatePhoneCallRequest.prototype.clearArgsMap = function() {\n  this.getArgsMap().clear();\n  return this;};\n\n\n/**\n * map<string, google.protobuf.Any> options = 5;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.talk_api.CreatePhoneCallRequest.prototype.getOptionsMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 5, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.talk_api.CreatePhoneCallRequest} returns this\n */\nproto.talk_api.CreatePhoneCallRequest.prototype.clearOptionsMap = function() {\n  this.getOptionsMap().clear();\n  return this;};\n\n\n/**\n * optional string fromNumber = 6;\n * @return {string}\n */\nproto.talk_api.CreatePhoneCallRequest.prototype.getFromnumber = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.talk_api.CreatePhoneCallRequest} returns this\n */\nproto.talk_api.CreatePhoneCallRequest.prototype.setFromnumber = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string toNumber = 7;\n * @return {string}\n */\nproto.talk_api.CreatePhoneCallRequest.prototype.getTonumber = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.talk_api.CreatePhoneCallRequest} returns this\n */\nproto.talk_api.CreatePhoneCallRequest.prototype.setTonumber = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.talk_api.CreatePhoneCallResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.talk_api.CreatePhoneCallResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.talk_api.CreatePhoneCallResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.CreatePhoneCallResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && common_pb.AssistantConversation.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.talk_api.CreatePhoneCallResponse}\n */\nproto.talk_api.CreatePhoneCallResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.talk_api.CreatePhoneCallResponse;\n  return proto.talk_api.CreatePhoneCallResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.talk_api.CreatePhoneCallResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.talk_api.CreatePhoneCallResponse}\n */\nproto.talk_api.CreatePhoneCallResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.AssistantConversation;\n      reader.readMessage(value,common_pb.AssistantConversation.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.talk_api.CreatePhoneCallResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.talk_api.CreatePhoneCallResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.talk_api.CreatePhoneCallResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.CreatePhoneCallResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.AssistantConversation.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.talk_api.CreatePhoneCallResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.talk_api.CreatePhoneCallResponse} returns this\n */\nproto.talk_api.CreatePhoneCallResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.talk_api.CreatePhoneCallResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.talk_api.CreatePhoneCallResponse} returns this\n */\nproto.talk_api.CreatePhoneCallResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AssistantConversation data = 3;\n * @return {?proto.AssistantConversation}\n */\nproto.talk_api.CreatePhoneCallResponse.prototype.getData = function() {\n  return /** @type{?proto.AssistantConversation} */ (\n    jspb.Message.getWrapperField(this, common_pb.AssistantConversation, 3));\n};\n\n\n/**\n * @param {?proto.AssistantConversation|undefined} value\n * @return {!proto.talk_api.CreatePhoneCallResponse} returns this\n*/\nproto.talk_api.CreatePhoneCallResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.CreatePhoneCallResponse} returns this\n */\nproto.talk_api.CreatePhoneCallResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.CreatePhoneCallResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.talk_api.CreatePhoneCallResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.talk_api.CreatePhoneCallResponse} returns this\n*/\nproto.talk_api.CreatePhoneCallResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.CreatePhoneCallResponse} returns this\n */\nproto.talk_api.CreatePhoneCallResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.CreatePhoneCallResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.talk_api.CreateBulkPhoneCallRequest.repeatedFields_ = [6];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.talk_api.CreateBulkPhoneCallRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.talk_api.CreateBulkPhoneCallRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.talk_api.CreateBulkPhoneCallRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.CreateBulkPhoneCallRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    phonecallsList: jspb.Message.toObjectList(msg.getPhonecallsList(),\n    proto.talk_api.CreatePhoneCallRequest.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.talk_api.CreateBulkPhoneCallRequest}\n */\nproto.talk_api.CreateBulkPhoneCallRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.talk_api.CreateBulkPhoneCallRequest;\n  return proto.talk_api.CreateBulkPhoneCallRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.talk_api.CreateBulkPhoneCallRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.talk_api.CreateBulkPhoneCallRequest}\n */\nproto.talk_api.CreateBulkPhoneCallRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 6:\n      var value = new proto.talk_api.CreatePhoneCallRequest;\n      reader.readMessage(value,proto.talk_api.CreatePhoneCallRequest.deserializeBinaryFromReader);\n      msg.addPhonecalls(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.talk_api.CreateBulkPhoneCallRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.talk_api.CreateBulkPhoneCallRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.talk_api.CreateBulkPhoneCallRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.CreateBulkPhoneCallRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPhonecallsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      6,\n      f,\n      proto.talk_api.CreatePhoneCallRequest.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * repeated CreatePhoneCallRequest phoneCalls = 6;\n * @return {!Array<!proto.talk_api.CreatePhoneCallRequest>}\n */\nproto.talk_api.CreateBulkPhoneCallRequest.prototype.getPhonecallsList = function() {\n  return /** @type{!Array<!proto.talk_api.CreatePhoneCallRequest>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.talk_api.CreatePhoneCallRequest, 6));\n};\n\n\n/**\n * @param {!Array<!proto.talk_api.CreatePhoneCallRequest>} value\n * @return {!proto.talk_api.CreateBulkPhoneCallRequest} returns this\n*/\nproto.talk_api.CreateBulkPhoneCallRequest.prototype.setPhonecallsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 6, value);\n};\n\n\n/**\n * @param {!proto.talk_api.CreatePhoneCallRequest=} opt_value\n * @param {number=} opt_index\n * @return {!proto.talk_api.CreatePhoneCallRequest}\n */\nproto.talk_api.CreateBulkPhoneCallRequest.prototype.addPhonecalls = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.talk_api.CreatePhoneCallRequest, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.talk_api.CreateBulkPhoneCallRequest} returns this\n */\nproto.talk_api.CreateBulkPhoneCallRequest.prototype.clearPhonecallsList = function() {\n  return this.setPhonecallsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.talk_api.CreateBulkPhoneCallResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.talk_api.CreateBulkPhoneCallResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.talk_api.CreateBulkPhoneCallResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.talk_api.CreateBulkPhoneCallResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.CreateBulkPhoneCallResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    common_pb.AssistantConversation.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.talk_api.CreateBulkPhoneCallResponse}\n */\nproto.talk_api.CreateBulkPhoneCallResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.talk_api.CreateBulkPhoneCallResponse;\n  return proto.talk_api.CreateBulkPhoneCallResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.talk_api.CreateBulkPhoneCallResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.talk_api.CreateBulkPhoneCallResponse}\n */\nproto.talk_api.CreateBulkPhoneCallResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.AssistantConversation;\n      reader.readMessage(value,common_pb.AssistantConversation.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.talk_api.CreateBulkPhoneCallResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.talk_api.CreateBulkPhoneCallResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.talk_api.CreateBulkPhoneCallResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.talk_api.CreateBulkPhoneCallResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.AssistantConversation.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.talk_api.CreateBulkPhoneCallResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.talk_api.CreateBulkPhoneCallResponse} returns this\n */\nproto.talk_api.CreateBulkPhoneCallResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.talk_api.CreateBulkPhoneCallResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.talk_api.CreateBulkPhoneCallResponse} returns this\n */\nproto.talk_api.CreateBulkPhoneCallResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated AssistantConversation data = 3;\n * @return {!Array<!proto.AssistantConversation>}\n */\nproto.talk_api.CreateBulkPhoneCallResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.AssistantConversation>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.AssistantConversation, 3));\n};\n\n\n/**\n * @param {!Array<!proto.AssistantConversation>} value\n * @return {!proto.talk_api.CreateBulkPhoneCallResponse} returns this\n*/\nproto.talk_api.CreateBulkPhoneCallResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.AssistantConversation=} opt_value\n * @param {number=} opt_index\n * @return {!proto.AssistantConversation}\n */\nproto.talk_api.CreateBulkPhoneCallResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.AssistantConversation, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.talk_api.CreateBulkPhoneCallResponse} returns this\n */\nproto.talk_api.CreateBulkPhoneCallResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.talk_api.CreateBulkPhoneCallResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.talk_api.CreateBulkPhoneCallResponse} returns this\n*/\nproto.talk_api.CreateBulkPhoneCallResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.talk_api.CreateBulkPhoneCallResponse} returns this\n */\nproto.talk_api.CreateBulkPhoneCallResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.talk_api.CreateBulkPhoneCallResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\ngoog.object.extend(exports, proto.talk_api);\n","// source: assistant-deployment.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.assistant_api.AssistantApiDeployment', null, global);\ngoog.exportSymbol('proto.assistant_api.AssistantApiDeploymentResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.AssistantDebuggerDeployment', null, global);\ngoog.exportSymbol('proto.assistant_api.AssistantDebuggerDeployment.IconCase', null, global);\ngoog.exportSymbol('proto.assistant_api.AssistantDebuggerDeploymentResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.AssistantDeploymentCapturer', null, global);\ngoog.exportSymbol('proto.assistant_api.AssistantPhoneDeployment', null, global);\ngoog.exportSymbol('proto.assistant_api.AssistantPhoneDeploymentResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.AssistantWebpluginDeployment', null, global);\ngoog.exportSymbol('proto.assistant_api.AssistantWebpluginDeployment.IconCase', null, global);\ngoog.exportSymbol('proto.assistant_api.AssistantWebpluginDeploymentResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.AssistantWhatsappDeployment', null, global);\ngoog.exportSymbol('proto.assistant_api.AssistantWhatsappDeploymentResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.CreateAssistantApiDeploymentRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.CreateAssistantDebuggerDeploymentRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.CreateAssistantPhoneDeploymentRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.CreateAssistantWebpluginDeploymentRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.CreateAssistantWhatsappDeploymentRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.DeploymentAudioProvider', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAssistantDeploymentRequest', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.DeploymentAudioProvider = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.DeploymentAudioProvider.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.DeploymentAudioProvider, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.DeploymentAudioProvider.displayName = 'proto.assistant_api.DeploymentAudioProvider';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.AssistantDeploymentCapturer = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.AssistantDeploymentCapturer.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.AssistantDeploymentCapturer, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.AssistantDeploymentCapturer.displayName = 'proto.assistant_api.AssistantDeploymentCapturer';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.AssistantWebpluginDeployment = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.AssistantWebpluginDeployment.repeatedFields_, proto.assistant_api.AssistantWebpluginDeployment.oneofGroups_);\n};\ngoog.inherits(proto.assistant_api.AssistantWebpluginDeployment, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.AssistantWebpluginDeployment.displayName = 'proto.assistant_api.AssistantWebpluginDeployment';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.AssistantPhoneDeployment = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.AssistantPhoneDeployment.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.AssistantPhoneDeployment, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.AssistantPhoneDeployment.displayName = 'proto.assistant_api.AssistantPhoneDeployment';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.AssistantWhatsappDeployment = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.AssistantWhatsappDeployment.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.AssistantWhatsappDeployment, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.AssistantWhatsappDeployment.displayName = 'proto.assistant_api.AssistantWhatsappDeployment';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.AssistantDebuggerDeployment = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.AssistantDebuggerDeployment.repeatedFields_, proto.assistant_api.AssistantDebuggerDeployment.oneofGroups_);\n};\ngoog.inherits(proto.assistant_api.AssistantDebuggerDeployment, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.AssistantDebuggerDeployment.displayName = 'proto.assistant_api.AssistantDebuggerDeployment';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.AssistantApiDeployment = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.AssistantApiDeployment.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.AssistantApiDeployment, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.AssistantApiDeployment.displayName = 'proto.assistant_api.AssistantApiDeployment';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.CreateAssistantApiDeploymentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.CreateAssistantApiDeploymentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.CreateAssistantApiDeploymentRequest.displayName = 'proto.assistant_api.CreateAssistantApiDeploymentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.AssistantApiDeploymentResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.AssistantApiDeploymentResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.AssistantApiDeploymentResponse.displayName = 'proto.assistant_api.AssistantApiDeploymentResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.CreateAssistantPhoneDeploymentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.CreateAssistantPhoneDeploymentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.CreateAssistantPhoneDeploymentRequest.displayName = 'proto.assistant_api.CreateAssistantPhoneDeploymentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.AssistantPhoneDeploymentResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.AssistantPhoneDeploymentResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.AssistantPhoneDeploymentResponse.displayName = 'proto.assistant_api.AssistantPhoneDeploymentResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.CreateAssistantWhatsappDeploymentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.CreateAssistantWhatsappDeploymentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.CreateAssistantWhatsappDeploymentRequest.displayName = 'proto.assistant_api.CreateAssistantWhatsappDeploymentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.AssistantWhatsappDeploymentResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.AssistantWhatsappDeploymentResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.AssistantWhatsappDeploymentResponse.displayName = 'proto.assistant_api.AssistantWhatsappDeploymentResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.CreateAssistantDebuggerDeploymentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.CreateAssistantDebuggerDeploymentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.CreateAssistantDebuggerDeploymentRequest.displayName = 'proto.assistant_api.CreateAssistantDebuggerDeploymentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.AssistantDebuggerDeploymentResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.AssistantDebuggerDeploymentResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.AssistantDebuggerDeploymentResponse.displayName = 'proto.assistant_api.AssistantDebuggerDeploymentResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.CreateAssistantWebpluginDeploymentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.CreateAssistantWebpluginDeploymentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.CreateAssistantWebpluginDeploymentRequest.displayName = 'proto.assistant_api.CreateAssistantWebpluginDeploymentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.AssistantWebpluginDeploymentResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.AssistantWebpluginDeploymentResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.AssistantWebpluginDeploymentResponse.displayName = 'proto.assistant_api.AssistantWebpluginDeploymentResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAssistantDeploymentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.GetAssistantDeploymentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAssistantDeploymentRequest.displayName = 'proto.assistant_api.GetAssistantDeploymentRequest';\n}\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.DeploymentAudioProvider.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.DeploymentAudioProvider.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.DeploymentAudioProvider.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.DeploymentAudioProvider} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.DeploymentAudioProvider.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    audioprovider: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    audiooptionsList: jspb.Message.toObjectList(msg.getAudiooptionsList(),\n    common_pb.Metadata.toObject, includeInstance),\n    audioproviderid: jspb.Message.getFieldWithDefault(msg, 4, \"0\"),\n    status: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    audiotype: jspb.Message.getFieldWithDefault(msg, 6, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.DeploymentAudioProvider}\n */\nproto.assistant_api.DeploymentAudioProvider.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.DeploymentAudioProvider;\n  return proto.assistant_api.DeploymentAudioProvider.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.DeploymentAudioProvider} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.DeploymentAudioProvider}\n */\nproto.assistant_api.DeploymentAudioProvider.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setAudioprovider(value);\n      break;\n    case 3:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addAudiooptions(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAudioproviderid(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setAudiotype(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.DeploymentAudioProvider.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.DeploymentAudioProvider.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.DeploymentAudioProvider} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.DeploymentAudioProvider.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAudioprovider();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getAudiooptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getAudioproviderid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getAudiotype();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.DeploymentAudioProvider.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.DeploymentAudioProvider} returns this\n */\nproto.assistant_api.DeploymentAudioProvider.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string audioProvider = 2;\n * @return {string}\n */\nproto.assistant_api.DeploymentAudioProvider.prototype.getAudioprovider = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.DeploymentAudioProvider} returns this\n */\nproto.assistant_api.DeploymentAudioProvider.prototype.setAudioprovider = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * repeated Metadata audioOptions = 3;\n * @return {!Array<!proto.Metadata>}\n */\nproto.assistant_api.DeploymentAudioProvider.prototype.getAudiooptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 3));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.assistant_api.DeploymentAudioProvider} returns this\n*/\nproto.assistant_api.DeploymentAudioProvider.prototype.setAudiooptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.assistant_api.DeploymentAudioProvider.prototype.addAudiooptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.DeploymentAudioProvider} returns this\n */\nproto.assistant_api.DeploymentAudioProvider.prototype.clearAudiooptionsList = function() {\n  return this.setAudiooptionsList([]);\n};\n\n\n/**\n * optional uint64 audioProviderId = 4;\n * @return {string}\n */\nproto.assistant_api.DeploymentAudioProvider.prototype.getAudioproviderid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.DeploymentAudioProvider} returns this\n */\nproto.assistant_api.DeploymentAudioProvider.prototype.setAudioproviderid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 4, value);\n};\n\n\n/**\n * optional string status = 5;\n * @return {string}\n */\nproto.assistant_api.DeploymentAudioProvider.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.DeploymentAudioProvider} returns this\n */\nproto.assistant_api.DeploymentAudioProvider.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string audioType = 6;\n * @return {string}\n */\nproto.assistant_api.DeploymentAudioProvider.prototype.getAudiotype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.DeploymentAudioProvider} returns this\n */\nproto.assistant_api.DeploymentAudioProvider.prototype.setAudiotype = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.AssistantDeploymentCapturer.repeatedFields_ = [6];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.AssistantDeploymentCapturer.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.AssistantDeploymentCapturer.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.AssistantDeploymentCapturer} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantDeploymentCapturer.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantdeploymentid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    capturertype: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    capturerproviderid: jspb.Message.getFieldWithDefault(msg, 4, \"0\"),\n    capturerprovider: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    captureroptionsList: jspb.Message.toObjectList(msg.getCaptureroptionsList(),\n    common_pb.Metadata.toObject, includeInstance),\n    status: jspb.Message.getFieldWithDefault(msg, 7, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.AssistantDeploymentCapturer}\n */\nproto.assistant_api.AssistantDeploymentCapturer.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.AssistantDeploymentCapturer;\n  return proto.assistant_api.AssistantDeploymentCapturer.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.AssistantDeploymentCapturer} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.AssistantDeploymentCapturer}\n */\nproto.assistant_api.AssistantDeploymentCapturer.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantdeploymentid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCapturertype(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setCapturerproviderid(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCapturerprovider(value);\n      break;\n    case 6:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addCaptureroptions(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.AssistantDeploymentCapturer.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.AssistantDeploymentCapturer.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.AssistantDeploymentCapturer} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantDeploymentCapturer.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantdeploymentid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getCapturertype();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getCapturerproviderid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n  f = message.getCapturerprovider();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getCaptureroptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      6,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.AssistantDeploymentCapturer.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantDeploymentCapturer} returns this\n */\nproto.assistant_api.AssistantDeploymentCapturer.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantDeploymentId = 2;\n * @return {string}\n */\nproto.assistant_api.AssistantDeploymentCapturer.prototype.getAssistantdeploymentid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantDeploymentCapturer} returns this\n */\nproto.assistant_api.AssistantDeploymentCapturer.prototype.setAssistantdeploymentid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional string capturerType = 3;\n * @return {string}\n */\nproto.assistant_api.AssistantDeploymentCapturer.prototype.getCapturertype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantDeploymentCapturer} returns this\n */\nproto.assistant_api.AssistantDeploymentCapturer.prototype.setCapturertype = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional uint64 capturerProviderId = 4;\n * @return {string}\n */\nproto.assistant_api.AssistantDeploymentCapturer.prototype.getCapturerproviderid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantDeploymentCapturer} returns this\n */\nproto.assistant_api.AssistantDeploymentCapturer.prototype.setCapturerproviderid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 4, value);\n};\n\n\n/**\n * optional string capturerProvider = 5;\n * @return {string}\n */\nproto.assistant_api.AssistantDeploymentCapturer.prototype.getCapturerprovider = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantDeploymentCapturer} returns this\n */\nproto.assistant_api.AssistantDeploymentCapturer.prototype.setCapturerprovider = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * repeated Metadata capturerOptions = 6;\n * @return {!Array<!proto.Metadata>}\n */\nproto.assistant_api.AssistantDeploymentCapturer.prototype.getCaptureroptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 6));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.assistant_api.AssistantDeploymentCapturer} returns this\n*/\nproto.assistant_api.AssistantDeploymentCapturer.prototype.setCaptureroptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 6, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.assistant_api.AssistantDeploymentCapturer.prototype.addCaptureroptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.AssistantDeploymentCapturer} returns this\n */\nproto.assistant_api.AssistantDeploymentCapturer.prototype.clearCaptureroptionsList = function() {\n  return this.setCaptureroptionsList([]);\n};\n\n\n/**\n * optional string status = 7;\n * @return {string}\n */\nproto.assistant_api.AssistantDeploymentCapturer.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantDeploymentCapturer} returns this\n */\nproto.assistant_api.AssistantDeploymentCapturer.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.AssistantWebpluginDeployment.repeatedFields_ = [17,20];\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array<!Array<number>>}\n * @const\n */\nproto.assistant_api.AssistantWebpluginDeployment.oneofGroups_ = [[15,16]];\n\n/**\n * @enum {number}\n */\nproto.assistant_api.AssistantWebpluginDeployment.IconCase = {\n  ICON_NOT_SET: 0,\n  URL: 15,\n  RAW: 16\n};\n\n/**\n * @return {proto.assistant_api.AssistantWebpluginDeployment.IconCase}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getIconCase = function() {\n  return /** @type {proto.assistant_api.AssistantWebpluginDeployment.IconCase} */(jspb.Message.computeOneofCase(this, proto.assistant_api.AssistantWebpluginDeployment.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.AssistantWebpluginDeployment.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.AssistantWebpluginDeployment} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantWebpluginDeployment.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 5, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    role: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    tone: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n    experties: jspb.Message.getFieldWithDefault(msg, 9, \"\"),\n    greeting: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n    mistake: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n    ending: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n    inputaudio: (f = msg.getInputaudio()) && proto.assistant_api.DeploymentAudioProvider.toObject(includeInstance, f),\n    outputaudio: (f = msg.getOutputaudio()) && proto.assistant_api.DeploymentAudioProvider.toObject(includeInstance, f),\n    capturersList: jspb.Message.toObjectList(msg.getCapturersList(),\n    proto.assistant_api.AssistantDeploymentCapturer.toObject, includeInstance),\n    url: jspb.Message.getFieldWithDefault(msg, 15, \"\"),\n    raw: (f = msg.getRaw()) && common_pb.Content.toObject(includeInstance, f),\n    suggestionList: (f = jspb.Message.getRepeatedField(msg, 20)) == null ? undefined : f,\n    helpcenterenabled: jspb.Message.getBooleanFieldWithDefault(msg, 21, false),\n    productcatalogenabled: jspb.Message.getBooleanFieldWithDefault(msg, 22, false),\n    articlecatalogenabled: jspb.Message.getBooleanFieldWithDefault(msg, 23, false),\n    uploadfileenabled: jspb.Message.getBooleanFieldWithDefault(msg, 24, false),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    status: jspb.Message.getFieldWithDefault(msg, 28, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.AssistantWebpluginDeployment}\n */\nproto.assistant_api.AssistantWebpluginDeployment.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.AssistantWebpluginDeployment;\n  return proto.assistant_api.AssistantWebpluginDeployment.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.AssistantWebpluginDeployment} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.AssistantWebpluginDeployment}\n */\nproto.assistant_api.AssistantWebpluginDeployment.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRole(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setTone(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setExperties(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setGreeting(value);\n      break;\n    case 11:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setMistake(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEnding(value);\n      break;\n    case 13:\n      var value = new proto.assistant_api.DeploymentAudioProvider;\n      reader.readMessage(value,proto.assistant_api.DeploymentAudioProvider.deserializeBinaryFromReader);\n      msg.setInputaudio(value);\n      break;\n    case 14:\n      var value = new proto.assistant_api.DeploymentAudioProvider;\n      reader.readMessage(value,proto.assistant_api.DeploymentAudioProvider.deserializeBinaryFromReader);\n      msg.setOutputaudio(value);\n      break;\n    case 17:\n      var value = new proto.assistant_api.AssistantDeploymentCapturer;\n      reader.readMessage(value,proto.assistant_api.AssistantDeploymentCapturer.deserializeBinaryFromReader);\n      msg.addCapturers(value);\n      break;\n    case 15:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setUrl(value);\n      break;\n    case 16:\n      var value = new common_pb.Content;\n      reader.readMessage(value,common_pb.Content.deserializeBinaryFromReader);\n      msg.setRaw(value);\n      break;\n    case 20:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addSuggestion(value);\n      break;\n    case 21:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setHelpcenterenabled(value);\n      break;\n    case 22:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setProductcatalogenabled(value);\n      break;\n    case 23:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setArticlecatalogenabled(value);\n      break;\n    case 24:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setUploadfileenabled(value);\n      break;\n    case 26:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 27:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 28:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.AssistantWebpluginDeployment.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.AssistantWebpluginDeployment} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantWebpluginDeployment.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getRole();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getTone();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n  f = message.getExperties();\n  if (f.length > 0) {\n    writer.writeString(\n      9,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 10));\n  if (f != null) {\n    writer.writeString(\n      10,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 11));\n  if (f != null) {\n    writer.writeString(\n      11,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 12));\n  if (f != null) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n  f = message.getInputaudio();\n  if (f != null) {\n    writer.writeMessage(\n      13,\n      f,\n      proto.assistant_api.DeploymentAudioProvider.serializeBinaryToWriter\n    );\n  }\n  f = message.getOutputaudio();\n  if (f != null) {\n    writer.writeMessage(\n      14,\n      f,\n      proto.assistant_api.DeploymentAudioProvider.serializeBinaryToWriter\n    );\n  }\n  f = message.getCapturersList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      17,\n      f,\n      proto.assistant_api.AssistantDeploymentCapturer.serializeBinaryToWriter\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 15));\n  if (f != null) {\n    writer.writeString(\n      15,\n      f\n    );\n  }\n  f = message.getRaw();\n  if (f != null) {\n    writer.writeMessage(\n      16,\n      f,\n      common_pb.Content.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuggestionList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      20,\n      f\n    );\n  }\n  f = message.getHelpcenterenabled();\n  if (f) {\n    writer.writeBool(\n      21,\n      f\n    );\n  }\n  f = message.getProductcatalogenabled();\n  if (f) {\n    writer.writeBool(\n      22,\n      f\n    );\n  }\n  f = message.getArticlecatalogenabled();\n  if (f) {\n    writer.writeBool(\n      23,\n      f\n    );\n  }\n  f = message.getUploadfileenabled();\n  if (f) {\n    writer.writeBool(\n      24,\n      f\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      26,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      27,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      28,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantId = 5;\n * @return {string}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n/**\n * optional string name = 6;\n * @return {string}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string role = 7;\n * @return {string}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getRole = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setRole = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional string tone = 8;\n * @return {string}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getTone = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setTone = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n/**\n * optional string experties = 9;\n * @return {string}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getExperties = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setExperties = function(value) {\n  return jspb.Message.setProto3StringField(this, 9, value);\n};\n\n\n/**\n * optional string greeting = 10;\n * @return {string}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getGreeting = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setGreeting = function(value) {\n  return jspb.Message.setField(this, 10, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.clearGreeting = function() {\n  return jspb.Message.setField(this, 10, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.hasGreeting = function() {\n  return jspb.Message.getField(this, 10) != null;\n};\n\n\n/**\n * optional string mistake = 11;\n * @return {string}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getMistake = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setMistake = function(value) {\n  return jspb.Message.setField(this, 11, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.clearMistake = function() {\n  return jspb.Message.setField(this, 11, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.hasMistake = function() {\n  return jspb.Message.getField(this, 11) != null;\n};\n\n\n/**\n * optional string ending = 12;\n * @return {string}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getEnding = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setEnding = function(value) {\n  return jspb.Message.setField(this, 12, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.clearEnding = function() {\n  return jspb.Message.setField(this, 12, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.hasEnding = function() {\n  return jspb.Message.getField(this, 12) != null;\n};\n\n\n/**\n * optional DeploymentAudioProvider inputAudio = 13;\n * @return {?proto.assistant_api.DeploymentAudioProvider}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getInputaudio = function() {\n  return /** @type{?proto.assistant_api.DeploymentAudioProvider} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.DeploymentAudioProvider, 13));\n};\n\n\n/**\n * @param {?proto.assistant_api.DeploymentAudioProvider|undefined} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n*/\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setInputaudio = function(value) {\n  return jspb.Message.setWrapperField(this, 13, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.clearInputaudio = function() {\n  return this.setInputaudio(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.hasInputaudio = function() {\n  return jspb.Message.getField(this, 13) != null;\n};\n\n\n/**\n * optional DeploymentAudioProvider outputAudio = 14;\n * @return {?proto.assistant_api.DeploymentAudioProvider}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getOutputaudio = function() {\n  return /** @type{?proto.assistant_api.DeploymentAudioProvider} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.DeploymentAudioProvider, 14));\n};\n\n\n/**\n * @param {?proto.assistant_api.DeploymentAudioProvider|undefined} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n*/\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setOutputaudio = function(value) {\n  return jspb.Message.setWrapperField(this, 14, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.clearOutputaudio = function() {\n  return this.setOutputaudio(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.hasOutputaudio = function() {\n  return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * repeated AssistantDeploymentCapturer capturers = 17;\n * @return {!Array<!proto.assistant_api.AssistantDeploymentCapturer>}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getCapturersList = function() {\n  return /** @type{!Array<!proto.assistant_api.AssistantDeploymentCapturer>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.assistant_api.AssistantDeploymentCapturer, 17));\n};\n\n\n/**\n * @param {!Array<!proto.assistant_api.AssistantDeploymentCapturer>} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n*/\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setCapturersList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 17, value);\n};\n\n\n/**\n * @param {!proto.assistant_api.AssistantDeploymentCapturer=} opt_value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.AssistantDeploymentCapturer}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.addCapturers = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 17, opt_value, proto.assistant_api.AssistantDeploymentCapturer, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.clearCapturersList = function() {\n  return this.setCapturersList([]);\n};\n\n\n/**\n * optional string url = 15;\n * @return {string}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getUrl = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setUrl = function(value) {\n  return jspb.Message.setOneofField(this, 15, proto.assistant_api.AssistantWebpluginDeployment.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.clearUrl = function() {\n  return jspb.Message.setOneofField(this, 15, proto.assistant_api.AssistantWebpluginDeployment.oneofGroups_[0], undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.hasUrl = function() {\n  return jspb.Message.getField(this, 15) != null;\n};\n\n\n/**\n * optional Content raw = 16;\n * @return {?proto.Content}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getRaw = function() {\n  return /** @type{?proto.Content} */ (\n    jspb.Message.getWrapperField(this, common_pb.Content, 16));\n};\n\n\n/**\n * @param {?proto.Content|undefined} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n*/\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setRaw = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 16, proto.assistant_api.AssistantWebpluginDeployment.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.clearRaw = function() {\n  return this.setRaw(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.hasRaw = function() {\n  return jspb.Message.getField(this, 16) != null;\n};\n\n\n/**\n * repeated string suggestion = 20;\n * @return {!Array<string>}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getSuggestionList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 20));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setSuggestionList = function(value) {\n  return jspb.Message.setField(this, 20, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.addSuggestion = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 20, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.clearSuggestionList = function() {\n  return this.setSuggestionList([]);\n};\n\n\n/**\n * optional bool helpCenterEnabled = 21;\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getHelpcenterenabled = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 21, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setHelpcenterenabled = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 21, value);\n};\n\n\n/**\n * optional bool productCatalogEnabled = 22;\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getProductcatalogenabled = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 22, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setProductcatalogenabled = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 22, value);\n};\n\n\n/**\n * optional bool articleCatalogEnabled = 23;\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getArticlecatalogenabled = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 23, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setArticlecatalogenabled = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 23, value);\n};\n\n\n/**\n * optional bool uploadFileEnabled = 24;\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getUploadfileenabled = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 24, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setUploadfileenabled = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 24, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 26;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 26));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n*/\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 26, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 26) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 27;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 27));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n*/\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 27, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 27) != null;\n};\n\n\n/**\n * optional string status = 28;\n * @return {string}\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 28, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebpluginDeployment} returns this\n */\nproto.assistant_api.AssistantWebpluginDeployment.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 28, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.AssistantPhoneDeployment.repeatedFields_ = [17,18];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.AssistantPhoneDeployment.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.AssistantPhoneDeployment} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantPhoneDeployment.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 5, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    role: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    tone: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n    experties: jspb.Message.getFieldWithDefault(msg, 9, \"\"),\n    greeting: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n    mistake: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n    ending: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n    inputaudio: (f = msg.getInputaudio()) && proto.assistant_api.DeploymentAudioProvider.toObject(includeInstance, f),\n    outputaudio: (f = msg.getOutputaudio()) && proto.assistant_api.DeploymentAudioProvider.toObject(includeInstance, f),\n    phoneprovidername: jspb.Message.getFieldWithDefault(msg, 15, \"\"),\n    phoneproviderid: jspb.Message.getFieldWithDefault(msg, 16, \"0\"),\n    phoneoptionsList: jspb.Message.toObjectList(msg.getPhoneoptionsList(),\n    common_pb.Metadata.toObject, includeInstance),\n    capturersList: jspb.Message.toObjectList(msg.getCapturersList(),\n    proto.assistant_api.AssistantDeploymentCapturer.toObject, includeInstance),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    status: jspb.Message.getFieldWithDefault(msg, 28, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.AssistantPhoneDeployment}\n */\nproto.assistant_api.AssistantPhoneDeployment.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.AssistantPhoneDeployment;\n  return proto.assistant_api.AssistantPhoneDeployment.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.AssistantPhoneDeployment} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.AssistantPhoneDeployment}\n */\nproto.assistant_api.AssistantPhoneDeployment.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRole(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setTone(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setExperties(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setGreeting(value);\n      break;\n    case 11:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setMistake(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEnding(value);\n      break;\n    case 13:\n      var value = new proto.assistant_api.DeploymentAudioProvider;\n      reader.readMessage(value,proto.assistant_api.DeploymentAudioProvider.deserializeBinaryFromReader);\n      msg.setInputaudio(value);\n      break;\n    case 14:\n      var value = new proto.assistant_api.DeploymentAudioProvider;\n      reader.readMessage(value,proto.assistant_api.DeploymentAudioProvider.deserializeBinaryFromReader);\n      msg.setOutputaudio(value);\n      break;\n    case 15:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPhoneprovidername(value);\n      break;\n    case 16:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setPhoneproviderid(value);\n      break;\n    case 17:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addPhoneoptions(value);\n      break;\n    case 18:\n      var value = new proto.assistant_api.AssistantDeploymentCapturer;\n      reader.readMessage(value,proto.assistant_api.AssistantDeploymentCapturer.deserializeBinaryFromReader);\n      msg.addCapturers(value);\n      break;\n    case 26:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 27:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 28:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.AssistantPhoneDeployment.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.AssistantPhoneDeployment} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantPhoneDeployment.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getRole();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getTone();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n  f = message.getExperties();\n  if (f.length > 0) {\n    writer.writeString(\n      9,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 10));\n  if (f != null) {\n    writer.writeString(\n      10,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 11));\n  if (f != null) {\n    writer.writeString(\n      11,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 12));\n  if (f != null) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n  f = message.getInputaudio();\n  if (f != null) {\n    writer.writeMessage(\n      13,\n      f,\n      proto.assistant_api.DeploymentAudioProvider.serializeBinaryToWriter\n    );\n  }\n  f = message.getOutputaudio();\n  if (f != null) {\n    writer.writeMessage(\n      14,\n      f,\n      proto.assistant_api.DeploymentAudioProvider.serializeBinaryToWriter\n    );\n  }\n  f = message.getPhoneprovidername();\n  if (f.length > 0) {\n    writer.writeString(\n      15,\n      f\n    );\n  }\n  f = message.getPhoneproviderid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      16,\n      f\n    );\n  }\n  f = message.getPhoneoptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      17,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getCapturersList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      18,\n      f,\n      proto.assistant_api.AssistantDeploymentCapturer.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      26,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      27,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      28,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantId = 5;\n * @return {string}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n/**\n * optional string name = 6;\n * @return {string}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string role = 7;\n * @return {string}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.getRole = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.setRole = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional string tone = 8;\n * @return {string}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.getTone = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.setTone = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n/**\n * optional string experties = 9;\n * @return {string}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.getExperties = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.setExperties = function(value) {\n  return jspb.Message.setProto3StringField(this, 9, value);\n};\n\n\n/**\n * optional string greeting = 10;\n * @return {string}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.getGreeting = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.setGreeting = function(value) {\n  return jspb.Message.setField(this, 10, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.clearGreeting = function() {\n  return jspb.Message.setField(this, 10, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.hasGreeting = function() {\n  return jspb.Message.getField(this, 10) != null;\n};\n\n\n/**\n * optional string mistake = 11;\n * @return {string}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.getMistake = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.setMistake = function(value) {\n  return jspb.Message.setField(this, 11, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.clearMistake = function() {\n  return jspb.Message.setField(this, 11, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.hasMistake = function() {\n  return jspb.Message.getField(this, 11) != null;\n};\n\n\n/**\n * optional string ending = 12;\n * @return {string}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.getEnding = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.setEnding = function(value) {\n  return jspb.Message.setField(this, 12, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.clearEnding = function() {\n  return jspb.Message.setField(this, 12, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.hasEnding = function() {\n  return jspb.Message.getField(this, 12) != null;\n};\n\n\n/**\n * optional DeploymentAudioProvider inputAudio = 13;\n * @return {?proto.assistant_api.DeploymentAudioProvider}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.getInputaudio = function() {\n  return /** @type{?proto.assistant_api.DeploymentAudioProvider} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.DeploymentAudioProvider, 13));\n};\n\n\n/**\n * @param {?proto.assistant_api.DeploymentAudioProvider|undefined} value\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n*/\nproto.assistant_api.AssistantPhoneDeployment.prototype.setInputaudio = function(value) {\n  return jspb.Message.setWrapperField(this, 13, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.clearInputaudio = function() {\n  return this.setInputaudio(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.hasInputaudio = function() {\n  return jspb.Message.getField(this, 13) != null;\n};\n\n\n/**\n * optional DeploymentAudioProvider outputAudio = 14;\n * @return {?proto.assistant_api.DeploymentAudioProvider}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.getOutputaudio = function() {\n  return /** @type{?proto.assistant_api.DeploymentAudioProvider} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.DeploymentAudioProvider, 14));\n};\n\n\n/**\n * @param {?proto.assistant_api.DeploymentAudioProvider|undefined} value\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n*/\nproto.assistant_api.AssistantPhoneDeployment.prototype.setOutputaudio = function(value) {\n  return jspb.Message.setWrapperField(this, 14, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.clearOutputaudio = function() {\n  return this.setOutputaudio(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.hasOutputaudio = function() {\n  return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * optional string phoneProviderName = 15;\n * @return {string}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.getPhoneprovidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.setPhoneprovidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 15, value);\n};\n\n\n/**\n * optional uint64 phoneProviderId = 16;\n * @return {string}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.getPhoneproviderid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 16, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.setPhoneproviderid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 16, value);\n};\n\n\n/**\n * repeated Metadata phoneOptions = 17;\n * @return {!Array<!proto.Metadata>}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.getPhoneoptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 17));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n*/\nproto.assistant_api.AssistantPhoneDeployment.prototype.setPhoneoptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 17, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.addPhoneoptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 17, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.clearPhoneoptionsList = function() {\n  return this.setPhoneoptionsList([]);\n};\n\n\n/**\n * repeated AssistantDeploymentCapturer capturers = 18;\n * @return {!Array<!proto.assistant_api.AssistantDeploymentCapturer>}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.getCapturersList = function() {\n  return /** @type{!Array<!proto.assistant_api.AssistantDeploymentCapturer>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.assistant_api.AssistantDeploymentCapturer, 18));\n};\n\n\n/**\n * @param {!Array<!proto.assistant_api.AssistantDeploymentCapturer>} value\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n*/\nproto.assistant_api.AssistantPhoneDeployment.prototype.setCapturersList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 18, value);\n};\n\n\n/**\n * @param {!proto.assistant_api.AssistantDeploymentCapturer=} opt_value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.AssistantDeploymentCapturer}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.addCapturers = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 18, opt_value, proto.assistant_api.AssistantDeploymentCapturer, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.clearCapturersList = function() {\n  return this.setCapturersList([]);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 26;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 26));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n*/\nproto.assistant_api.AssistantPhoneDeployment.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 26, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 26) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 27;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 27));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n*/\nproto.assistant_api.AssistantPhoneDeployment.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 27, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 27) != null;\n};\n\n\n/**\n * optional string status = 28;\n * @return {string}\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 28, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantPhoneDeployment} returns this\n */\nproto.assistant_api.AssistantPhoneDeployment.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 28, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.AssistantWhatsappDeployment.repeatedFields_ = [17];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.AssistantWhatsappDeployment.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.AssistantWhatsappDeployment} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantWhatsappDeployment.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 5, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    role: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    tone: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n    experties: jspb.Message.getFieldWithDefault(msg, 9, \"\"),\n    greeting: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n    mistake: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n    ending: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n    whatsappprovidername: jspb.Message.getFieldWithDefault(msg, 15, \"\"),\n    whatsappproviderid: jspb.Message.getFieldWithDefault(msg, 16, \"0\"),\n    whatsappoptionsList: jspb.Message.toObjectList(msg.getWhatsappoptionsList(),\n    common_pb.Metadata.toObject, includeInstance),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    status: jspb.Message.getFieldWithDefault(msg, 28, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.AssistantWhatsappDeployment}\n */\nproto.assistant_api.AssistantWhatsappDeployment.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.AssistantWhatsappDeployment;\n  return proto.assistant_api.AssistantWhatsappDeployment.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.AssistantWhatsappDeployment} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.AssistantWhatsappDeployment}\n */\nproto.assistant_api.AssistantWhatsappDeployment.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRole(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setTone(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setExperties(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setGreeting(value);\n      break;\n    case 11:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setMistake(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEnding(value);\n      break;\n    case 15:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setWhatsappprovidername(value);\n      break;\n    case 16:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setWhatsappproviderid(value);\n      break;\n    case 17:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addWhatsappoptions(value);\n      break;\n    case 26:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 27:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 28:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.AssistantWhatsappDeployment.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.AssistantWhatsappDeployment} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantWhatsappDeployment.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getRole();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getTone();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n  f = message.getExperties();\n  if (f.length > 0) {\n    writer.writeString(\n      9,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 10));\n  if (f != null) {\n    writer.writeString(\n      10,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 11));\n  if (f != null) {\n    writer.writeString(\n      11,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 12));\n  if (f != null) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n  f = message.getWhatsappprovidername();\n  if (f.length > 0) {\n    writer.writeString(\n      15,\n      f\n    );\n  }\n  f = message.getWhatsappproviderid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      16,\n      f\n    );\n  }\n  f = message.getWhatsappoptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      17,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      26,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      27,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      28,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantId = 5;\n * @return {string}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n/**\n * optional string name = 6;\n * @return {string}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string role = 7;\n * @return {string}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.getRole = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.setRole = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional string tone = 8;\n * @return {string}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.getTone = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.setTone = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n/**\n * optional string experties = 9;\n * @return {string}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.getExperties = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.setExperties = function(value) {\n  return jspb.Message.setProto3StringField(this, 9, value);\n};\n\n\n/**\n * optional string greeting = 10;\n * @return {string}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.getGreeting = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.setGreeting = function(value) {\n  return jspb.Message.setField(this, 10, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.clearGreeting = function() {\n  return jspb.Message.setField(this, 10, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.hasGreeting = function() {\n  return jspb.Message.getField(this, 10) != null;\n};\n\n\n/**\n * optional string mistake = 11;\n * @return {string}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.getMistake = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.setMistake = function(value) {\n  return jspb.Message.setField(this, 11, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.clearMistake = function() {\n  return jspb.Message.setField(this, 11, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.hasMistake = function() {\n  return jspb.Message.getField(this, 11) != null;\n};\n\n\n/**\n * optional string ending = 12;\n * @return {string}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.getEnding = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.setEnding = function(value) {\n  return jspb.Message.setField(this, 12, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.clearEnding = function() {\n  return jspb.Message.setField(this, 12, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.hasEnding = function() {\n  return jspb.Message.getField(this, 12) != null;\n};\n\n\n/**\n * optional string whatsappProviderName = 15;\n * @return {string}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.getWhatsappprovidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.setWhatsappprovidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 15, value);\n};\n\n\n/**\n * optional uint64 whatsappProviderId = 16;\n * @return {string}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.getWhatsappproviderid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 16, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.setWhatsappproviderid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 16, value);\n};\n\n\n/**\n * repeated Metadata whatsappOptions = 17;\n * @return {!Array<!proto.Metadata>}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.getWhatsappoptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 17));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n*/\nproto.assistant_api.AssistantWhatsappDeployment.prototype.setWhatsappoptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 17, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.addWhatsappoptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 17, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.clearWhatsappoptionsList = function() {\n  return this.setWhatsappoptionsList([]);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 26;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 26));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n*/\nproto.assistant_api.AssistantWhatsappDeployment.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 26, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 26) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 27;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 27));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n*/\nproto.assistant_api.AssistantWhatsappDeployment.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 27, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 27) != null;\n};\n\n\n/**\n * optional string status = 28;\n * @return {string}\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 28, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWhatsappDeployment} returns this\n */\nproto.assistant_api.AssistantWhatsappDeployment.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 28, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.AssistantDebuggerDeployment.repeatedFields_ = [18,20];\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array<!Array<number>>}\n * @const\n */\nproto.assistant_api.AssistantDebuggerDeployment.oneofGroups_ = [[15,16]];\n\n/**\n * @enum {number}\n */\nproto.assistant_api.AssistantDebuggerDeployment.IconCase = {\n  ICON_NOT_SET: 0,\n  URL: 15,\n  RAW: 16\n};\n\n/**\n * @return {proto.assistant_api.AssistantDebuggerDeployment.IconCase}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getIconCase = function() {\n  return /** @type {proto.assistant_api.AssistantDebuggerDeployment.IconCase} */(jspb.Message.computeOneofCase(this, proto.assistant_api.AssistantDebuggerDeployment.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.AssistantDebuggerDeployment.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.AssistantDebuggerDeployment} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantDebuggerDeployment.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 5, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    role: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    tone: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n    experties: jspb.Message.getFieldWithDefault(msg, 9, \"\"),\n    greeting: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n    mistake: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n    ending: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n    inputaudio: (f = msg.getInputaudio()) && proto.assistant_api.DeploymentAudioProvider.toObject(includeInstance, f),\n    outputaudio: (f = msg.getOutputaudio()) && proto.assistant_api.DeploymentAudioProvider.toObject(includeInstance, f),\n    capturersList: jspb.Message.toObjectList(msg.getCapturersList(),\n    proto.assistant_api.AssistantDeploymentCapturer.toObject, includeInstance),\n    url: jspb.Message.getFieldWithDefault(msg, 15, \"\"),\n    raw: (f = msg.getRaw()) && common_pb.Content.toObject(includeInstance, f),\n    suggestionList: (f = jspb.Message.getRepeatedField(msg, 20)) == null ? undefined : f,\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    status: jspb.Message.getFieldWithDefault(msg, 28, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.AssistantDebuggerDeployment}\n */\nproto.assistant_api.AssistantDebuggerDeployment.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.AssistantDebuggerDeployment;\n  return proto.assistant_api.AssistantDebuggerDeployment.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.AssistantDebuggerDeployment} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.AssistantDebuggerDeployment}\n */\nproto.assistant_api.AssistantDebuggerDeployment.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRole(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setTone(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setExperties(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setGreeting(value);\n      break;\n    case 11:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setMistake(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEnding(value);\n      break;\n    case 13:\n      var value = new proto.assistant_api.DeploymentAudioProvider;\n      reader.readMessage(value,proto.assistant_api.DeploymentAudioProvider.deserializeBinaryFromReader);\n      msg.setInputaudio(value);\n      break;\n    case 14:\n      var value = new proto.assistant_api.DeploymentAudioProvider;\n      reader.readMessage(value,proto.assistant_api.DeploymentAudioProvider.deserializeBinaryFromReader);\n      msg.setOutputaudio(value);\n      break;\n    case 18:\n      var value = new proto.assistant_api.AssistantDeploymentCapturer;\n      reader.readMessage(value,proto.assistant_api.AssistantDeploymentCapturer.deserializeBinaryFromReader);\n      msg.addCapturers(value);\n      break;\n    case 15:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setUrl(value);\n      break;\n    case 16:\n      var value = new common_pb.Content;\n      reader.readMessage(value,common_pb.Content.deserializeBinaryFromReader);\n      msg.setRaw(value);\n      break;\n    case 20:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addSuggestion(value);\n      break;\n    case 26:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 27:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 28:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.AssistantDebuggerDeployment.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.AssistantDebuggerDeployment} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantDebuggerDeployment.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getRole();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getTone();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n  f = message.getExperties();\n  if (f.length > 0) {\n    writer.writeString(\n      9,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 10));\n  if (f != null) {\n    writer.writeString(\n      10,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 11));\n  if (f != null) {\n    writer.writeString(\n      11,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 12));\n  if (f != null) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n  f = message.getInputaudio();\n  if (f != null) {\n    writer.writeMessage(\n      13,\n      f,\n      proto.assistant_api.DeploymentAudioProvider.serializeBinaryToWriter\n    );\n  }\n  f = message.getOutputaudio();\n  if (f != null) {\n    writer.writeMessage(\n      14,\n      f,\n      proto.assistant_api.DeploymentAudioProvider.serializeBinaryToWriter\n    );\n  }\n  f = message.getCapturersList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      18,\n      f,\n      proto.assistant_api.AssistantDeploymentCapturer.serializeBinaryToWriter\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 15));\n  if (f != null) {\n    writer.writeString(\n      15,\n      f\n    );\n  }\n  f = message.getRaw();\n  if (f != null) {\n    writer.writeMessage(\n      16,\n      f,\n      common_pb.Content.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuggestionList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      20,\n      f\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      26,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      27,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      28,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantId = 5;\n * @return {string}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n/**\n * optional string name = 6;\n * @return {string}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string role = 7;\n * @return {string}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getRole = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.setRole = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional string tone = 8;\n * @return {string}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getTone = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.setTone = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n/**\n * optional string experties = 9;\n * @return {string}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getExperties = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.setExperties = function(value) {\n  return jspb.Message.setProto3StringField(this, 9, value);\n};\n\n\n/**\n * optional string greeting = 10;\n * @return {string}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getGreeting = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.setGreeting = function(value) {\n  return jspb.Message.setField(this, 10, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.clearGreeting = function() {\n  return jspb.Message.setField(this, 10, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.hasGreeting = function() {\n  return jspb.Message.getField(this, 10) != null;\n};\n\n\n/**\n * optional string mistake = 11;\n * @return {string}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getMistake = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.setMistake = function(value) {\n  return jspb.Message.setField(this, 11, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.clearMistake = function() {\n  return jspb.Message.setField(this, 11, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.hasMistake = function() {\n  return jspb.Message.getField(this, 11) != null;\n};\n\n\n/**\n * optional string ending = 12;\n * @return {string}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getEnding = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.setEnding = function(value) {\n  return jspb.Message.setField(this, 12, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.clearEnding = function() {\n  return jspb.Message.setField(this, 12, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.hasEnding = function() {\n  return jspb.Message.getField(this, 12) != null;\n};\n\n\n/**\n * optional DeploymentAudioProvider inputAudio = 13;\n * @return {?proto.assistant_api.DeploymentAudioProvider}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getInputaudio = function() {\n  return /** @type{?proto.assistant_api.DeploymentAudioProvider} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.DeploymentAudioProvider, 13));\n};\n\n\n/**\n * @param {?proto.assistant_api.DeploymentAudioProvider|undefined} value\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n*/\nproto.assistant_api.AssistantDebuggerDeployment.prototype.setInputaudio = function(value) {\n  return jspb.Message.setWrapperField(this, 13, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.clearInputaudio = function() {\n  return this.setInputaudio(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.hasInputaudio = function() {\n  return jspb.Message.getField(this, 13) != null;\n};\n\n\n/**\n * optional DeploymentAudioProvider outputAudio = 14;\n * @return {?proto.assistant_api.DeploymentAudioProvider}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getOutputaudio = function() {\n  return /** @type{?proto.assistant_api.DeploymentAudioProvider} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.DeploymentAudioProvider, 14));\n};\n\n\n/**\n * @param {?proto.assistant_api.DeploymentAudioProvider|undefined} value\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n*/\nproto.assistant_api.AssistantDebuggerDeployment.prototype.setOutputaudio = function(value) {\n  return jspb.Message.setWrapperField(this, 14, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.clearOutputaudio = function() {\n  return this.setOutputaudio(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.hasOutputaudio = function() {\n  return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * repeated AssistantDeploymentCapturer capturers = 18;\n * @return {!Array<!proto.assistant_api.AssistantDeploymentCapturer>}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getCapturersList = function() {\n  return /** @type{!Array<!proto.assistant_api.AssistantDeploymentCapturer>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.assistant_api.AssistantDeploymentCapturer, 18));\n};\n\n\n/**\n * @param {!Array<!proto.assistant_api.AssistantDeploymentCapturer>} value\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n*/\nproto.assistant_api.AssistantDebuggerDeployment.prototype.setCapturersList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 18, value);\n};\n\n\n/**\n * @param {!proto.assistant_api.AssistantDeploymentCapturer=} opt_value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.AssistantDeploymentCapturer}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.addCapturers = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 18, opt_value, proto.assistant_api.AssistantDeploymentCapturer, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.clearCapturersList = function() {\n  return this.setCapturersList([]);\n};\n\n\n/**\n * optional string url = 15;\n * @return {string}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getUrl = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.setUrl = function(value) {\n  return jspb.Message.setOneofField(this, 15, proto.assistant_api.AssistantDebuggerDeployment.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.clearUrl = function() {\n  return jspb.Message.setOneofField(this, 15, proto.assistant_api.AssistantDebuggerDeployment.oneofGroups_[0], undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.hasUrl = function() {\n  return jspb.Message.getField(this, 15) != null;\n};\n\n\n/**\n * optional Content raw = 16;\n * @return {?proto.Content}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getRaw = function() {\n  return /** @type{?proto.Content} */ (\n    jspb.Message.getWrapperField(this, common_pb.Content, 16));\n};\n\n\n/**\n * @param {?proto.Content|undefined} value\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n*/\nproto.assistant_api.AssistantDebuggerDeployment.prototype.setRaw = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 16, proto.assistant_api.AssistantDebuggerDeployment.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.clearRaw = function() {\n  return this.setRaw(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.hasRaw = function() {\n  return jspb.Message.getField(this, 16) != null;\n};\n\n\n/**\n * repeated string suggestion = 20;\n * @return {!Array<string>}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getSuggestionList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 20));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.setSuggestionList = function(value) {\n  return jspb.Message.setField(this, 20, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.addSuggestion = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 20, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.clearSuggestionList = function() {\n  return this.setSuggestionList([]);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 26;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 26));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n*/\nproto.assistant_api.AssistantDebuggerDeployment.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 26, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 26) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 27;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 27));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n*/\nproto.assistant_api.AssistantDebuggerDeployment.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 27, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 27) != null;\n};\n\n\n/**\n * optional string status = 28;\n * @return {string}\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 28, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantDebuggerDeployment} returns this\n */\nproto.assistant_api.AssistantDebuggerDeployment.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 28, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.AssistantApiDeployment.repeatedFields_ = [15];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.AssistantApiDeployment.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.AssistantApiDeployment} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantApiDeployment.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 5, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    role: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    tone: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n    experties: jspb.Message.getFieldWithDefault(msg, 9, \"\"),\n    greeting: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n    mistake: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n    ending: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n    inputaudio: (f = msg.getInputaudio()) && proto.assistant_api.DeploymentAudioProvider.toObject(includeInstance, f),\n    outputaudio: (f = msg.getOutputaudio()) && proto.assistant_api.DeploymentAudioProvider.toObject(includeInstance, f),\n    capturersList: jspb.Message.toObjectList(msg.getCapturersList(),\n    proto.assistant_api.AssistantDeploymentCapturer.toObject, includeInstance),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    status: jspb.Message.getFieldWithDefault(msg, 28, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.AssistantApiDeployment}\n */\nproto.assistant_api.AssistantApiDeployment.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.AssistantApiDeployment;\n  return proto.assistant_api.AssistantApiDeployment.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.AssistantApiDeployment} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.AssistantApiDeployment}\n */\nproto.assistant_api.AssistantApiDeployment.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRole(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setTone(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setExperties(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setGreeting(value);\n      break;\n    case 11:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setMistake(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEnding(value);\n      break;\n    case 13:\n      var value = new proto.assistant_api.DeploymentAudioProvider;\n      reader.readMessage(value,proto.assistant_api.DeploymentAudioProvider.deserializeBinaryFromReader);\n      msg.setInputaudio(value);\n      break;\n    case 14:\n      var value = new proto.assistant_api.DeploymentAudioProvider;\n      reader.readMessage(value,proto.assistant_api.DeploymentAudioProvider.deserializeBinaryFromReader);\n      msg.setOutputaudio(value);\n      break;\n    case 15:\n      var value = new proto.assistant_api.AssistantDeploymentCapturer;\n      reader.readMessage(value,proto.assistant_api.AssistantDeploymentCapturer.deserializeBinaryFromReader);\n      msg.addCapturers(value);\n      break;\n    case 26:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 27:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 28:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.AssistantApiDeployment.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.AssistantApiDeployment} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantApiDeployment.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getRole();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getTone();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n  f = message.getExperties();\n  if (f.length > 0) {\n    writer.writeString(\n      9,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 10));\n  if (f != null) {\n    writer.writeString(\n      10,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 11));\n  if (f != null) {\n    writer.writeString(\n      11,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 12));\n  if (f != null) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n  f = message.getInputaudio();\n  if (f != null) {\n    writer.writeMessage(\n      13,\n      f,\n      proto.assistant_api.DeploymentAudioProvider.serializeBinaryToWriter\n    );\n  }\n  f = message.getOutputaudio();\n  if (f != null) {\n    writer.writeMessage(\n      14,\n      f,\n      proto.assistant_api.DeploymentAudioProvider.serializeBinaryToWriter\n    );\n  }\n  f = message.getCapturersList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      15,\n      f,\n      proto.assistant_api.AssistantDeploymentCapturer.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      26,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      27,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      28,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n */\nproto.assistant_api.AssistantApiDeployment.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantId = 5;\n * @return {string}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n */\nproto.assistant_api.AssistantApiDeployment.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n/**\n * optional string name = 6;\n * @return {string}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n */\nproto.assistant_api.AssistantApiDeployment.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string role = 7;\n * @return {string}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.getRole = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n */\nproto.assistant_api.AssistantApiDeployment.prototype.setRole = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional string tone = 8;\n * @return {string}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.getTone = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n */\nproto.assistant_api.AssistantApiDeployment.prototype.setTone = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n/**\n * optional string experties = 9;\n * @return {string}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.getExperties = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n */\nproto.assistant_api.AssistantApiDeployment.prototype.setExperties = function(value) {\n  return jspb.Message.setProto3StringField(this, 9, value);\n};\n\n\n/**\n * optional string greeting = 10;\n * @return {string}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.getGreeting = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n */\nproto.assistant_api.AssistantApiDeployment.prototype.setGreeting = function(value) {\n  return jspb.Message.setField(this, 10, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n */\nproto.assistant_api.AssistantApiDeployment.prototype.clearGreeting = function() {\n  return jspb.Message.setField(this, 10, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.hasGreeting = function() {\n  return jspb.Message.getField(this, 10) != null;\n};\n\n\n/**\n * optional string mistake = 11;\n * @return {string}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.getMistake = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n */\nproto.assistant_api.AssistantApiDeployment.prototype.setMistake = function(value) {\n  return jspb.Message.setField(this, 11, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n */\nproto.assistant_api.AssistantApiDeployment.prototype.clearMistake = function() {\n  return jspb.Message.setField(this, 11, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.hasMistake = function() {\n  return jspb.Message.getField(this, 11) != null;\n};\n\n\n/**\n * optional string ending = 12;\n * @return {string}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.getEnding = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n */\nproto.assistant_api.AssistantApiDeployment.prototype.setEnding = function(value) {\n  return jspb.Message.setField(this, 12, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n */\nproto.assistant_api.AssistantApiDeployment.prototype.clearEnding = function() {\n  return jspb.Message.setField(this, 12, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.hasEnding = function() {\n  return jspb.Message.getField(this, 12) != null;\n};\n\n\n/**\n * optional DeploymentAudioProvider inputAudio = 13;\n * @return {?proto.assistant_api.DeploymentAudioProvider}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.getInputaudio = function() {\n  return /** @type{?proto.assistant_api.DeploymentAudioProvider} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.DeploymentAudioProvider, 13));\n};\n\n\n/**\n * @param {?proto.assistant_api.DeploymentAudioProvider|undefined} value\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n*/\nproto.assistant_api.AssistantApiDeployment.prototype.setInputaudio = function(value) {\n  return jspb.Message.setWrapperField(this, 13, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n */\nproto.assistant_api.AssistantApiDeployment.prototype.clearInputaudio = function() {\n  return this.setInputaudio(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.hasInputaudio = function() {\n  return jspb.Message.getField(this, 13) != null;\n};\n\n\n/**\n * optional DeploymentAudioProvider outputAudio = 14;\n * @return {?proto.assistant_api.DeploymentAudioProvider}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.getOutputaudio = function() {\n  return /** @type{?proto.assistant_api.DeploymentAudioProvider} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.DeploymentAudioProvider, 14));\n};\n\n\n/**\n * @param {?proto.assistant_api.DeploymentAudioProvider|undefined} value\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n*/\nproto.assistant_api.AssistantApiDeployment.prototype.setOutputaudio = function(value) {\n  return jspb.Message.setWrapperField(this, 14, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n */\nproto.assistant_api.AssistantApiDeployment.prototype.clearOutputaudio = function() {\n  return this.setOutputaudio(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.hasOutputaudio = function() {\n  return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * repeated AssistantDeploymentCapturer capturers = 15;\n * @return {!Array<!proto.assistant_api.AssistantDeploymentCapturer>}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.getCapturersList = function() {\n  return /** @type{!Array<!proto.assistant_api.AssistantDeploymentCapturer>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.assistant_api.AssistantDeploymentCapturer, 15));\n};\n\n\n/**\n * @param {!Array<!proto.assistant_api.AssistantDeploymentCapturer>} value\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n*/\nproto.assistant_api.AssistantApiDeployment.prototype.setCapturersList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 15, value);\n};\n\n\n/**\n * @param {!proto.assistant_api.AssistantDeploymentCapturer=} opt_value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.AssistantDeploymentCapturer}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.addCapturers = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 15, opt_value, proto.assistant_api.AssistantDeploymentCapturer, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n */\nproto.assistant_api.AssistantApiDeployment.prototype.clearCapturersList = function() {\n  return this.setCapturersList([]);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 26;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 26));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n*/\nproto.assistant_api.AssistantApiDeployment.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 26, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n */\nproto.assistant_api.AssistantApiDeployment.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 26) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 27;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 27));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n*/\nproto.assistant_api.AssistantApiDeployment.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 27, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n */\nproto.assistant_api.AssistantApiDeployment.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 27) != null;\n};\n\n\n/**\n * optional string status = 28;\n * @return {string}\n */\nproto.assistant_api.AssistantApiDeployment.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 28, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantApiDeployment} returns this\n */\nproto.assistant_api.AssistantApiDeployment.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 28, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.CreateAssistantApiDeploymentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.CreateAssistantApiDeploymentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.CreateAssistantApiDeploymentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantApiDeploymentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    deployment: (f = msg.getDeployment()) && proto.assistant_api.AssistantApiDeployment.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.CreateAssistantApiDeploymentRequest}\n */\nproto.assistant_api.CreateAssistantApiDeploymentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.CreateAssistantApiDeploymentRequest;\n  return proto.assistant_api.CreateAssistantApiDeploymentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.CreateAssistantApiDeploymentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.CreateAssistantApiDeploymentRequest}\n */\nproto.assistant_api.CreateAssistantApiDeploymentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.assistant_api.AssistantApiDeployment;\n      reader.readMessage(value,proto.assistant_api.AssistantApiDeployment.deserializeBinaryFromReader);\n      msg.setDeployment(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.CreateAssistantApiDeploymentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.CreateAssistantApiDeploymentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.CreateAssistantApiDeploymentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantApiDeploymentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getDeployment();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.assistant_api.AssistantApiDeployment.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional AssistantApiDeployment deployment = 1;\n * @return {?proto.assistant_api.AssistantApiDeployment}\n */\nproto.assistant_api.CreateAssistantApiDeploymentRequest.prototype.getDeployment = function() {\n  return /** @type{?proto.assistant_api.AssistantApiDeployment} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.AssistantApiDeployment, 1));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantApiDeployment|undefined} value\n * @return {!proto.assistant_api.CreateAssistantApiDeploymentRequest} returns this\n*/\nproto.assistant_api.CreateAssistantApiDeploymentRequest.prototype.setDeployment = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.CreateAssistantApiDeploymentRequest} returns this\n */\nproto.assistant_api.CreateAssistantApiDeploymentRequest.prototype.clearDeployment = function() {\n  return this.setDeployment(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.CreateAssistantApiDeploymentRequest.prototype.hasDeployment = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.AssistantApiDeploymentResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.AssistantApiDeploymentResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.AssistantApiDeploymentResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantApiDeploymentResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.assistant_api.AssistantApiDeployment.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.AssistantApiDeploymentResponse}\n */\nproto.assistant_api.AssistantApiDeploymentResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.AssistantApiDeploymentResponse;\n  return proto.assistant_api.AssistantApiDeploymentResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.AssistantApiDeploymentResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.AssistantApiDeploymentResponse}\n */\nproto.assistant_api.AssistantApiDeploymentResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.AssistantApiDeployment;\n      reader.readMessage(value,proto.assistant_api.AssistantApiDeployment.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.AssistantApiDeploymentResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.AssistantApiDeploymentResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.AssistantApiDeploymentResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantApiDeploymentResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.assistant_api.AssistantApiDeployment.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.AssistantApiDeploymentResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.AssistantApiDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantApiDeploymentResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.AssistantApiDeploymentResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.AssistantApiDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantApiDeploymentResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AssistantApiDeployment data = 3;\n * @return {?proto.assistant_api.AssistantApiDeployment}\n */\nproto.assistant_api.AssistantApiDeploymentResponse.prototype.getData = function() {\n  return /** @type{?proto.assistant_api.AssistantApiDeployment} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.AssistantApiDeployment, 3));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantApiDeployment|undefined} value\n * @return {!proto.assistant_api.AssistantApiDeploymentResponse} returns this\n*/\nproto.assistant_api.AssistantApiDeploymentResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantApiDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantApiDeploymentResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantApiDeploymentResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.AssistantApiDeploymentResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.AssistantApiDeploymentResponse} returns this\n*/\nproto.assistant_api.AssistantApiDeploymentResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantApiDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantApiDeploymentResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantApiDeploymentResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.CreateAssistantPhoneDeploymentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.CreateAssistantPhoneDeploymentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.CreateAssistantPhoneDeploymentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantPhoneDeploymentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    deployment: (f = msg.getDeployment()) && proto.assistant_api.AssistantPhoneDeployment.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.CreateAssistantPhoneDeploymentRequest}\n */\nproto.assistant_api.CreateAssistantPhoneDeploymentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.CreateAssistantPhoneDeploymentRequest;\n  return proto.assistant_api.CreateAssistantPhoneDeploymentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.CreateAssistantPhoneDeploymentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.CreateAssistantPhoneDeploymentRequest}\n */\nproto.assistant_api.CreateAssistantPhoneDeploymentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.assistant_api.AssistantPhoneDeployment;\n      reader.readMessage(value,proto.assistant_api.AssistantPhoneDeployment.deserializeBinaryFromReader);\n      msg.setDeployment(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.CreateAssistantPhoneDeploymentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.CreateAssistantPhoneDeploymentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.CreateAssistantPhoneDeploymentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantPhoneDeploymentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getDeployment();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.assistant_api.AssistantPhoneDeployment.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional AssistantPhoneDeployment deployment = 1;\n * @return {?proto.assistant_api.AssistantPhoneDeployment}\n */\nproto.assistant_api.CreateAssistantPhoneDeploymentRequest.prototype.getDeployment = function() {\n  return /** @type{?proto.assistant_api.AssistantPhoneDeployment} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.AssistantPhoneDeployment, 1));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantPhoneDeployment|undefined} value\n * @return {!proto.assistant_api.CreateAssistantPhoneDeploymentRequest} returns this\n*/\nproto.assistant_api.CreateAssistantPhoneDeploymentRequest.prototype.setDeployment = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.CreateAssistantPhoneDeploymentRequest} returns this\n */\nproto.assistant_api.CreateAssistantPhoneDeploymentRequest.prototype.clearDeployment = function() {\n  return this.setDeployment(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.CreateAssistantPhoneDeploymentRequest.prototype.hasDeployment = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.AssistantPhoneDeploymentResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.AssistantPhoneDeploymentResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.AssistantPhoneDeploymentResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantPhoneDeploymentResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.assistant_api.AssistantPhoneDeployment.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.AssistantPhoneDeploymentResponse}\n */\nproto.assistant_api.AssistantPhoneDeploymentResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.AssistantPhoneDeploymentResponse;\n  return proto.assistant_api.AssistantPhoneDeploymentResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.AssistantPhoneDeploymentResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.AssistantPhoneDeploymentResponse}\n */\nproto.assistant_api.AssistantPhoneDeploymentResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.AssistantPhoneDeployment;\n      reader.readMessage(value,proto.assistant_api.AssistantPhoneDeployment.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.AssistantPhoneDeploymentResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.AssistantPhoneDeploymentResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.AssistantPhoneDeploymentResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantPhoneDeploymentResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.assistant_api.AssistantPhoneDeployment.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.AssistantPhoneDeploymentResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.AssistantPhoneDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantPhoneDeploymentResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.AssistantPhoneDeploymentResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.AssistantPhoneDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantPhoneDeploymentResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AssistantPhoneDeployment data = 3;\n * @return {?proto.assistant_api.AssistantPhoneDeployment}\n */\nproto.assistant_api.AssistantPhoneDeploymentResponse.prototype.getData = function() {\n  return /** @type{?proto.assistant_api.AssistantPhoneDeployment} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.AssistantPhoneDeployment, 3));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantPhoneDeployment|undefined} value\n * @return {!proto.assistant_api.AssistantPhoneDeploymentResponse} returns this\n*/\nproto.assistant_api.AssistantPhoneDeploymentResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantPhoneDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantPhoneDeploymentResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantPhoneDeploymentResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.AssistantPhoneDeploymentResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.AssistantPhoneDeploymentResponse} returns this\n*/\nproto.assistant_api.AssistantPhoneDeploymentResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantPhoneDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantPhoneDeploymentResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantPhoneDeploymentResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.CreateAssistantWhatsappDeploymentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.CreateAssistantWhatsappDeploymentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.CreateAssistantWhatsappDeploymentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantWhatsappDeploymentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    deployment: (f = msg.getDeployment()) && proto.assistant_api.AssistantWhatsappDeployment.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.CreateAssistantWhatsappDeploymentRequest}\n */\nproto.assistant_api.CreateAssistantWhatsappDeploymentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.CreateAssistantWhatsappDeploymentRequest;\n  return proto.assistant_api.CreateAssistantWhatsappDeploymentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.CreateAssistantWhatsappDeploymentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.CreateAssistantWhatsappDeploymentRequest}\n */\nproto.assistant_api.CreateAssistantWhatsappDeploymentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.assistant_api.AssistantWhatsappDeployment;\n      reader.readMessage(value,proto.assistant_api.AssistantWhatsappDeployment.deserializeBinaryFromReader);\n      msg.setDeployment(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.CreateAssistantWhatsappDeploymentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.CreateAssistantWhatsappDeploymentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.CreateAssistantWhatsappDeploymentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantWhatsappDeploymentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getDeployment();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.assistant_api.AssistantWhatsappDeployment.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional AssistantWhatsappDeployment deployment = 1;\n * @return {?proto.assistant_api.AssistantWhatsappDeployment}\n */\nproto.assistant_api.CreateAssistantWhatsappDeploymentRequest.prototype.getDeployment = function() {\n  return /** @type{?proto.assistant_api.AssistantWhatsappDeployment} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.AssistantWhatsappDeployment, 1));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantWhatsappDeployment|undefined} value\n * @return {!proto.assistant_api.CreateAssistantWhatsappDeploymentRequest} returns this\n*/\nproto.assistant_api.CreateAssistantWhatsappDeploymentRequest.prototype.setDeployment = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.CreateAssistantWhatsappDeploymentRequest} returns this\n */\nproto.assistant_api.CreateAssistantWhatsappDeploymentRequest.prototype.clearDeployment = function() {\n  return this.setDeployment(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.CreateAssistantWhatsappDeploymentRequest.prototype.hasDeployment = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.AssistantWhatsappDeploymentResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.AssistantWhatsappDeploymentResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.AssistantWhatsappDeploymentResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantWhatsappDeploymentResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.assistant_api.AssistantWhatsappDeployment.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.AssistantWhatsappDeploymentResponse}\n */\nproto.assistant_api.AssistantWhatsappDeploymentResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.AssistantWhatsappDeploymentResponse;\n  return proto.assistant_api.AssistantWhatsappDeploymentResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.AssistantWhatsappDeploymentResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.AssistantWhatsappDeploymentResponse}\n */\nproto.assistant_api.AssistantWhatsappDeploymentResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.AssistantWhatsappDeployment;\n      reader.readMessage(value,proto.assistant_api.AssistantWhatsappDeployment.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.AssistantWhatsappDeploymentResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.AssistantWhatsappDeploymentResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.AssistantWhatsappDeploymentResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantWhatsappDeploymentResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.assistant_api.AssistantWhatsappDeployment.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.AssistantWhatsappDeploymentResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.AssistantWhatsappDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantWhatsappDeploymentResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.AssistantWhatsappDeploymentResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.AssistantWhatsappDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantWhatsappDeploymentResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AssistantWhatsappDeployment data = 3;\n * @return {?proto.assistant_api.AssistantWhatsappDeployment}\n */\nproto.assistant_api.AssistantWhatsappDeploymentResponse.prototype.getData = function() {\n  return /** @type{?proto.assistant_api.AssistantWhatsappDeployment} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.AssistantWhatsappDeployment, 3));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantWhatsappDeployment|undefined} value\n * @return {!proto.assistant_api.AssistantWhatsappDeploymentResponse} returns this\n*/\nproto.assistant_api.AssistantWhatsappDeploymentResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWhatsappDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantWhatsappDeploymentResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWhatsappDeploymentResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.AssistantWhatsappDeploymentResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.AssistantWhatsappDeploymentResponse} returns this\n*/\nproto.assistant_api.AssistantWhatsappDeploymentResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWhatsappDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantWhatsappDeploymentResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWhatsappDeploymentResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.CreateAssistantDebuggerDeploymentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.CreateAssistantDebuggerDeploymentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.CreateAssistantDebuggerDeploymentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantDebuggerDeploymentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    deployment: (f = msg.getDeployment()) && proto.assistant_api.AssistantDebuggerDeployment.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.CreateAssistantDebuggerDeploymentRequest}\n */\nproto.assistant_api.CreateAssistantDebuggerDeploymentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.CreateAssistantDebuggerDeploymentRequest;\n  return proto.assistant_api.CreateAssistantDebuggerDeploymentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.CreateAssistantDebuggerDeploymentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.CreateAssistantDebuggerDeploymentRequest}\n */\nproto.assistant_api.CreateAssistantDebuggerDeploymentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.assistant_api.AssistantDebuggerDeployment;\n      reader.readMessage(value,proto.assistant_api.AssistantDebuggerDeployment.deserializeBinaryFromReader);\n      msg.setDeployment(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.CreateAssistantDebuggerDeploymentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.CreateAssistantDebuggerDeploymentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.CreateAssistantDebuggerDeploymentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantDebuggerDeploymentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getDeployment();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.assistant_api.AssistantDebuggerDeployment.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional AssistantDebuggerDeployment deployment = 1;\n * @return {?proto.assistant_api.AssistantDebuggerDeployment}\n */\nproto.assistant_api.CreateAssistantDebuggerDeploymentRequest.prototype.getDeployment = function() {\n  return /** @type{?proto.assistant_api.AssistantDebuggerDeployment} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.AssistantDebuggerDeployment, 1));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantDebuggerDeployment|undefined} value\n * @return {!proto.assistant_api.CreateAssistantDebuggerDeploymentRequest} returns this\n*/\nproto.assistant_api.CreateAssistantDebuggerDeploymentRequest.prototype.setDeployment = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.CreateAssistantDebuggerDeploymentRequest} returns this\n */\nproto.assistant_api.CreateAssistantDebuggerDeploymentRequest.prototype.clearDeployment = function() {\n  return this.setDeployment(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.CreateAssistantDebuggerDeploymentRequest.prototype.hasDeployment = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.AssistantDebuggerDeploymentResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.AssistantDebuggerDeploymentResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.AssistantDebuggerDeploymentResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantDebuggerDeploymentResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.assistant_api.AssistantDebuggerDeployment.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.AssistantDebuggerDeploymentResponse}\n */\nproto.assistant_api.AssistantDebuggerDeploymentResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.AssistantDebuggerDeploymentResponse;\n  return proto.assistant_api.AssistantDebuggerDeploymentResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.AssistantDebuggerDeploymentResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.AssistantDebuggerDeploymentResponse}\n */\nproto.assistant_api.AssistantDebuggerDeploymentResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.AssistantDebuggerDeployment;\n      reader.readMessage(value,proto.assistant_api.AssistantDebuggerDeployment.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.AssistantDebuggerDeploymentResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.AssistantDebuggerDeploymentResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.AssistantDebuggerDeploymentResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantDebuggerDeploymentResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.assistant_api.AssistantDebuggerDeployment.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.AssistantDebuggerDeploymentResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.AssistantDebuggerDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantDebuggerDeploymentResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.AssistantDebuggerDeploymentResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.AssistantDebuggerDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantDebuggerDeploymentResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AssistantDebuggerDeployment data = 3;\n * @return {?proto.assistant_api.AssistantDebuggerDeployment}\n */\nproto.assistant_api.AssistantDebuggerDeploymentResponse.prototype.getData = function() {\n  return /** @type{?proto.assistant_api.AssistantDebuggerDeployment} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.AssistantDebuggerDeployment, 3));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantDebuggerDeployment|undefined} value\n * @return {!proto.assistant_api.AssistantDebuggerDeploymentResponse} returns this\n*/\nproto.assistant_api.AssistantDebuggerDeploymentResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantDebuggerDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantDebuggerDeploymentResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantDebuggerDeploymentResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.AssistantDebuggerDeploymentResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.AssistantDebuggerDeploymentResponse} returns this\n*/\nproto.assistant_api.AssistantDebuggerDeploymentResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantDebuggerDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantDebuggerDeploymentResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantDebuggerDeploymentResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.CreateAssistantWebpluginDeploymentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.CreateAssistantWebpluginDeploymentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.CreateAssistantWebpluginDeploymentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantWebpluginDeploymentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    deployment: (f = msg.getDeployment()) && proto.assistant_api.AssistantWebpluginDeployment.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.CreateAssistantWebpluginDeploymentRequest}\n */\nproto.assistant_api.CreateAssistantWebpluginDeploymentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.CreateAssistantWebpluginDeploymentRequest;\n  return proto.assistant_api.CreateAssistantWebpluginDeploymentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.CreateAssistantWebpluginDeploymentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.CreateAssistantWebpluginDeploymentRequest}\n */\nproto.assistant_api.CreateAssistantWebpluginDeploymentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.assistant_api.AssistantWebpluginDeployment;\n      reader.readMessage(value,proto.assistant_api.AssistantWebpluginDeployment.deserializeBinaryFromReader);\n      msg.setDeployment(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.CreateAssistantWebpluginDeploymentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.CreateAssistantWebpluginDeploymentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.CreateAssistantWebpluginDeploymentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantWebpluginDeploymentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getDeployment();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.assistant_api.AssistantWebpluginDeployment.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional AssistantWebpluginDeployment deployment = 1;\n * @return {?proto.assistant_api.AssistantWebpluginDeployment}\n */\nproto.assistant_api.CreateAssistantWebpluginDeploymentRequest.prototype.getDeployment = function() {\n  return /** @type{?proto.assistant_api.AssistantWebpluginDeployment} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.AssistantWebpluginDeployment, 1));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantWebpluginDeployment|undefined} value\n * @return {!proto.assistant_api.CreateAssistantWebpluginDeploymentRequest} returns this\n*/\nproto.assistant_api.CreateAssistantWebpluginDeploymentRequest.prototype.setDeployment = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.CreateAssistantWebpluginDeploymentRequest} returns this\n */\nproto.assistant_api.CreateAssistantWebpluginDeploymentRequest.prototype.clearDeployment = function() {\n  return this.setDeployment(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.CreateAssistantWebpluginDeploymentRequest.prototype.hasDeployment = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.AssistantWebpluginDeploymentResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.AssistantWebpluginDeploymentResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.AssistantWebpluginDeploymentResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantWebpluginDeploymentResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.assistant_api.AssistantWebpluginDeployment.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.AssistantWebpluginDeploymentResponse}\n */\nproto.assistant_api.AssistantWebpluginDeploymentResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.AssistantWebpluginDeploymentResponse;\n  return proto.assistant_api.AssistantWebpluginDeploymentResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.AssistantWebpluginDeploymentResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.AssistantWebpluginDeploymentResponse}\n */\nproto.assistant_api.AssistantWebpluginDeploymentResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.AssistantWebpluginDeployment;\n      reader.readMessage(value,proto.assistant_api.AssistantWebpluginDeployment.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.AssistantWebpluginDeploymentResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.AssistantWebpluginDeploymentResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.AssistantWebpluginDeploymentResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantWebpluginDeploymentResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.assistant_api.AssistantWebpluginDeployment.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.AssistantWebpluginDeploymentResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.AssistantWebpluginDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantWebpluginDeploymentResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebpluginDeploymentResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.AssistantWebpluginDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantWebpluginDeploymentResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AssistantWebpluginDeployment data = 3;\n * @return {?proto.assistant_api.AssistantWebpluginDeployment}\n */\nproto.assistant_api.AssistantWebpluginDeploymentResponse.prototype.getData = function() {\n  return /** @type{?proto.assistant_api.AssistantWebpluginDeployment} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.AssistantWebpluginDeployment, 3));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantWebpluginDeployment|undefined} value\n * @return {!proto.assistant_api.AssistantWebpluginDeploymentResponse} returns this\n*/\nproto.assistant_api.AssistantWebpluginDeploymentResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWebpluginDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantWebpluginDeploymentResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebpluginDeploymentResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.AssistantWebpluginDeploymentResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.AssistantWebpluginDeploymentResponse} returns this\n*/\nproto.assistant_api.AssistantWebpluginDeploymentResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWebpluginDeploymentResponse} returns this\n */\nproto.assistant_api.AssistantWebpluginDeploymentResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebpluginDeploymentResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAssistantDeploymentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAssistantDeploymentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAssistantDeploymentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantDeploymentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistantid: jspb.Message.getFieldWithDefault(msg, 1, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAssistantDeploymentRequest}\n */\nproto.assistant_api.GetAssistantDeploymentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAssistantDeploymentRequest;\n  return proto.assistant_api.GetAssistantDeploymentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAssistantDeploymentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAssistantDeploymentRequest}\n */\nproto.assistant_api.GetAssistantDeploymentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAssistantDeploymentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAssistantDeploymentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAssistantDeploymentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantDeploymentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 assistantId = 1;\n * @return {string}\n */\nproto.assistant_api.GetAssistantDeploymentRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAssistantDeploymentRequest} returns this\n */\nproto.assistant_api.GetAssistantDeploymentRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\ngoog.object.extend(exports, proto.assistant_api);\n","// source: assistant-tool.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\nvar google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js');\ngoog.object.extend(proto, google_protobuf_struct_pb);\ngoog.exportSymbol('proto.assistant_api.AssistantTool', null, global);\ngoog.exportSymbol('proto.assistant_api.CreateAssistantToolRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.DeleteAssistantToolRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllAssistantToolRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllAssistantToolResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAssistantToolRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAssistantToolResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.UpdateAssistantToolRequest', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.AssistantTool = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.AssistantTool.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.AssistantTool, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.AssistantTool.displayName = 'proto.assistant_api.AssistantTool';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.CreateAssistantToolRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.CreateAssistantToolRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.CreateAssistantToolRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.CreateAssistantToolRequest.displayName = 'proto.assistant_api.CreateAssistantToolRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.UpdateAssistantToolRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.UpdateAssistantToolRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.UpdateAssistantToolRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.UpdateAssistantToolRequest.displayName = 'proto.assistant_api.UpdateAssistantToolRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAssistantToolRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.GetAssistantToolRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAssistantToolRequest.displayName = 'proto.assistant_api.GetAssistantToolRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.DeleteAssistantToolRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.DeleteAssistantToolRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.DeleteAssistantToolRequest.displayName = 'proto.assistant_api.DeleteAssistantToolRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAssistantToolResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.GetAssistantToolResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAssistantToolResponse.displayName = 'proto.assistant_api.GetAssistantToolResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllAssistantToolRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllAssistantToolRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllAssistantToolRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllAssistantToolRequest.displayName = 'proto.assistant_api.GetAllAssistantToolRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllAssistantToolResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllAssistantToolResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllAssistantToolResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllAssistantToolResponse.displayName = 'proto.assistant_api.GetAllAssistantToolResponse';\n}\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.AssistantTool.repeatedFields_ = [7];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.AssistantTool.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.AssistantTool.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.AssistantTool} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantTool.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    fields: (f = msg.getFields()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    executionmethod: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    executionoptionsList: jspb.Message.toObjectList(msg.getExecutionoptionsList(),\n    common_pb.Metadata.toObject, includeInstance),\n    status: jspb.Message.getFieldWithDefault(msg, 25, \"\"),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.AssistantTool}\n */\nproto.assistant_api.AssistantTool.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.AssistantTool;\n  return proto.assistant_api.AssistantTool.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.AssistantTool} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.AssistantTool}\n */\nproto.assistant_api.AssistantTool.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 5:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setFields(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setExecutionmethod(value);\n      break;\n    case 7:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addExecutionoptions(value);\n      break;\n    case 25:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 26:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 27:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.AssistantTool.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.AssistantTool.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.AssistantTool} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantTool.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getFields();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getExecutionmethod();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getExecutionoptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      7,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      25,\n      f\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      26,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      27,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.AssistantTool.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantTool} returns this\n */\nproto.assistant_api.AssistantTool.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantId = 2;\n * @return {string}\n */\nproto.assistant_api.AssistantTool.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantTool} returns this\n */\nproto.assistant_api.AssistantTool.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional string name = 3;\n * @return {string}\n */\nproto.assistant_api.AssistantTool.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantTool} returns this\n */\nproto.assistant_api.AssistantTool.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string description = 4;\n * @return {string}\n */\nproto.assistant_api.AssistantTool.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantTool} returns this\n */\nproto.assistant_api.AssistantTool.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional google.protobuf.Struct fields = 5;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.assistant_api.AssistantTool.prototype.getFields = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 5));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.assistant_api.AssistantTool} returns this\n*/\nproto.assistant_api.AssistantTool.prototype.setFields = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantTool} returns this\n */\nproto.assistant_api.AssistantTool.prototype.clearFields = function() {\n  return this.setFields(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantTool.prototype.hasFields = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * optional string executionMethod = 6;\n * @return {string}\n */\nproto.assistant_api.AssistantTool.prototype.getExecutionmethod = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantTool} returns this\n */\nproto.assistant_api.AssistantTool.prototype.setExecutionmethod = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * repeated Metadata executionOptions = 7;\n * @return {!Array<!proto.Metadata>}\n */\nproto.assistant_api.AssistantTool.prototype.getExecutionoptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 7));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.assistant_api.AssistantTool} returns this\n*/\nproto.assistant_api.AssistantTool.prototype.setExecutionoptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 7, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.assistant_api.AssistantTool.prototype.addExecutionoptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 7, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.AssistantTool} returns this\n */\nproto.assistant_api.AssistantTool.prototype.clearExecutionoptionsList = function() {\n  return this.setExecutionoptionsList([]);\n};\n\n\n/**\n * optional string status = 25;\n * @return {string}\n */\nproto.assistant_api.AssistantTool.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 25, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantTool} returns this\n */\nproto.assistant_api.AssistantTool.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 25, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 26;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantTool.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 26));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantTool} returns this\n*/\nproto.assistant_api.AssistantTool.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 26, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantTool} returns this\n */\nproto.assistant_api.AssistantTool.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantTool.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 26) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 27;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantTool.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 27));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantTool} returns this\n*/\nproto.assistant_api.AssistantTool.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 27, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantTool} returns this\n */\nproto.assistant_api.AssistantTool.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantTool.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 27) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.CreateAssistantToolRequest.repeatedFields_ = [7];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.CreateAssistantToolRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.CreateAssistantToolRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.CreateAssistantToolRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantToolRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistantid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    fields: (f = msg.getFields()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    executionmethod: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    executionoptionsList: jspb.Message.toObjectList(msg.getExecutionoptionsList(),\n    common_pb.Metadata.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.CreateAssistantToolRequest}\n */\nproto.assistant_api.CreateAssistantToolRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.CreateAssistantToolRequest;\n  return proto.assistant_api.CreateAssistantToolRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.CreateAssistantToolRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.CreateAssistantToolRequest}\n */\nproto.assistant_api.CreateAssistantToolRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 5:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setFields(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setExecutionmethod(value);\n      break;\n    case 7:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addExecutionoptions(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.CreateAssistantToolRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.CreateAssistantToolRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.CreateAssistantToolRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantToolRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getFields();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getExecutionmethod();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getExecutionoptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      7,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 assistantId = 1;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantToolRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantToolRequest} returns this\n */\nproto.assistant_api.CreateAssistantToolRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 3;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantToolRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantToolRequest} returns this\n */\nproto.assistant_api.CreateAssistantToolRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string description = 4;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantToolRequest.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantToolRequest} returns this\n */\nproto.assistant_api.CreateAssistantToolRequest.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional google.protobuf.Struct fields = 5;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.assistant_api.CreateAssistantToolRequest.prototype.getFields = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 5));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.assistant_api.CreateAssistantToolRequest} returns this\n*/\nproto.assistant_api.CreateAssistantToolRequest.prototype.setFields = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.CreateAssistantToolRequest} returns this\n */\nproto.assistant_api.CreateAssistantToolRequest.prototype.clearFields = function() {\n  return this.setFields(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.CreateAssistantToolRequest.prototype.hasFields = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * optional string executionMethod = 6;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantToolRequest.prototype.getExecutionmethod = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantToolRequest} returns this\n */\nproto.assistant_api.CreateAssistantToolRequest.prototype.setExecutionmethod = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * repeated Metadata executionOptions = 7;\n * @return {!Array<!proto.Metadata>}\n */\nproto.assistant_api.CreateAssistantToolRequest.prototype.getExecutionoptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 7));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.assistant_api.CreateAssistantToolRequest} returns this\n*/\nproto.assistant_api.CreateAssistantToolRequest.prototype.setExecutionoptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 7, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.assistant_api.CreateAssistantToolRequest.prototype.addExecutionoptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 7, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.CreateAssistantToolRequest} returns this\n */\nproto.assistant_api.CreateAssistantToolRequest.prototype.clearExecutionoptionsList = function() {\n  return this.setExecutionoptionsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.UpdateAssistantToolRequest.repeatedFields_ = [7];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.UpdateAssistantToolRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.UpdateAssistantToolRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.UpdateAssistantToolRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.UpdateAssistantToolRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    fields: (f = msg.getFields()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    executionmethod: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    executionoptionsList: jspb.Message.toObjectList(msg.getExecutionoptionsList(),\n    common_pb.Metadata.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.UpdateAssistantToolRequest}\n */\nproto.assistant_api.UpdateAssistantToolRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.UpdateAssistantToolRequest;\n  return proto.assistant_api.UpdateAssistantToolRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.UpdateAssistantToolRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.UpdateAssistantToolRequest}\n */\nproto.assistant_api.UpdateAssistantToolRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 5:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setFields(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setExecutionmethod(value);\n      break;\n    case 7:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addExecutionoptions(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.UpdateAssistantToolRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.UpdateAssistantToolRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.UpdateAssistantToolRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.UpdateAssistantToolRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getFields();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getExecutionmethod();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getExecutionoptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      7,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantToolRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantToolRequest} returns this\n */\nproto.assistant_api.UpdateAssistantToolRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantId = 2;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantToolRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantToolRequest} returns this\n */\nproto.assistant_api.UpdateAssistantToolRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional string name = 3;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantToolRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantToolRequest} returns this\n */\nproto.assistant_api.UpdateAssistantToolRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string description = 4;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantToolRequest.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantToolRequest} returns this\n */\nproto.assistant_api.UpdateAssistantToolRequest.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional google.protobuf.Struct fields = 5;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.assistant_api.UpdateAssistantToolRequest.prototype.getFields = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 5));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.assistant_api.UpdateAssistantToolRequest} returns this\n*/\nproto.assistant_api.UpdateAssistantToolRequest.prototype.setFields = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.UpdateAssistantToolRequest} returns this\n */\nproto.assistant_api.UpdateAssistantToolRequest.prototype.clearFields = function() {\n  return this.setFields(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.UpdateAssistantToolRequest.prototype.hasFields = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * optional string executionMethod = 6;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantToolRequest.prototype.getExecutionmethod = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantToolRequest} returns this\n */\nproto.assistant_api.UpdateAssistantToolRequest.prototype.setExecutionmethod = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * repeated Metadata executionOptions = 7;\n * @return {!Array<!proto.Metadata>}\n */\nproto.assistant_api.UpdateAssistantToolRequest.prototype.getExecutionoptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 7));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.assistant_api.UpdateAssistantToolRequest} returns this\n*/\nproto.assistant_api.UpdateAssistantToolRequest.prototype.setExecutionoptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 7, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.assistant_api.UpdateAssistantToolRequest.prototype.addExecutionoptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 7, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.UpdateAssistantToolRequest} returns this\n */\nproto.assistant_api.UpdateAssistantToolRequest.prototype.clearExecutionoptionsList = function() {\n  return this.setExecutionoptionsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAssistantToolRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAssistantToolRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAssistantToolRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantToolRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 2, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAssistantToolRequest}\n */\nproto.assistant_api.GetAssistantToolRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAssistantToolRequest;\n  return proto.assistant_api.GetAssistantToolRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAssistantToolRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAssistantToolRequest}\n */\nproto.assistant_api.GetAssistantToolRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAssistantToolRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAssistantToolRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAssistantToolRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantToolRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.GetAssistantToolRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAssistantToolRequest} returns this\n */\nproto.assistant_api.GetAssistantToolRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantId = 2;\n * @return {string}\n */\nproto.assistant_api.GetAssistantToolRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAssistantToolRequest} returns this\n */\nproto.assistant_api.GetAssistantToolRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.DeleteAssistantToolRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.DeleteAssistantToolRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.DeleteAssistantToolRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.DeleteAssistantToolRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 2, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.DeleteAssistantToolRequest}\n */\nproto.assistant_api.DeleteAssistantToolRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.DeleteAssistantToolRequest;\n  return proto.assistant_api.DeleteAssistantToolRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.DeleteAssistantToolRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.DeleteAssistantToolRequest}\n */\nproto.assistant_api.DeleteAssistantToolRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.DeleteAssistantToolRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.DeleteAssistantToolRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.DeleteAssistantToolRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.DeleteAssistantToolRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.DeleteAssistantToolRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.DeleteAssistantToolRequest} returns this\n */\nproto.assistant_api.DeleteAssistantToolRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantId = 2;\n * @return {string}\n */\nproto.assistant_api.DeleteAssistantToolRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.DeleteAssistantToolRequest} returns this\n */\nproto.assistant_api.DeleteAssistantToolRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAssistantToolResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAssistantToolResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAssistantToolResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantToolResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.assistant_api.AssistantTool.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAssistantToolResponse}\n */\nproto.assistant_api.GetAssistantToolResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAssistantToolResponse;\n  return proto.assistant_api.GetAssistantToolResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAssistantToolResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAssistantToolResponse}\n */\nproto.assistant_api.GetAssistantToolResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.AssistantTool;\n      reader.readMessage(value,proto.assistant_api.AssistantTool.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAssistantToolResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAssistantToolResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAssistantToolResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantToolResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.assistant_api.AssistantTool.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.GetAssistantToolResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.GetAssistantToolResponse} returns this\n */\nproto.assistant_api.GetAssistantToolResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantToolResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.GetAssistantToolResponse} returns this\n */\nproto.assistant_api.GetAssistantToolResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AssistantTool data = 3;\n * @return {?proto.assistant_api.AssistantTool}\n */\nproto.assistant_api.GetAssistantToolResponse.prototype.getData = function() {\n  return /** @type{?proto.assistant_api.AssistantTool} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.AssistantTool, 3));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantTool|undefined} value\n * @return {!proto.assistant_api.GetAssistantToolResponse} returns this\n*/\nproto.assistant_api.GetAssistantToolResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAssistantToolResponse} returns this\n */\nproto.assistant_api.GetAssistantToolResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantToolResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.GetAssistantToolResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.GetAssistantToolResponse} returns this\n*/\nproto.assistant_api.GetAssistantToolResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAssistantToolResponse} returns this\n */\nproto.assistant_api.GetAssistantToolResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantToolResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllAssistantToolRequest.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllAssistantToolRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllAssistantToolRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllAssistantToolRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantToolRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistantid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllAssistantToolRequest}\n */\nproto.assistant_api.GetAllAssistantToolRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllAssistantToolRequest;\n  return proto.assistant_api.GetAllAssistantToolRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllAssistantToolRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllAssistantToolRequest}\n */\nproto.assistant_api.GetAllAssistantToolRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 2:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 3:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllAssistantToolRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllAssistantToolRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllAssistantToolRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantToolRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 assistantId = 1;\n * @return {string}\n */\nproto.assistant_api.GetAllAssistantToolRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAllAssistantToolRequest} returns this\n */\nproto.assistant_api.GetAllAssistantToolRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional Paginate paginate = 2;\n * @return {?proto.Paginate}\n */\nproto.assistant_api.GetAllAssistantToolRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 2));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantToolRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantToolRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantToolRequest} returns this\n */\nproto.assistant_api.GetAllAssistantToolRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantToolRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 3;\n * @return {!Array<!proto.Criteria>}\n */\nproto.assistant_api.GetAllAssistantToolRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 3));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.assistant_api.GetAllAssistantToolRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantToolRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.assistant_api.GetAllAssistantToolRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantToolRequest} returns this\n */\nproto.assistant_api.GetAllAssistantToolRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllAssistantToolResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllAssistantToolResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllAssistantToolResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllAssistantToolResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantToolResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.assistant_api.AssistantTool.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllAssistantToolResponse}\n */\nproto.assistant_api.GetAllAssistantToolResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllAssistantToolResponse;\n  return proto.assistant_api.GetAllAssistantToolResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllAssistantToolResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllAssistantToolResponse}\n */\nproto.assistant_api.GetAllAssistantToolResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.AssistantTool;\n      reader.readMessage(value,proto.assistant_api.AssistantTool.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllAssistantToolResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllAssistantToolResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllAssistantToolResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantToolResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.assistant_api.AssistantTool.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.GetAllAssistantToolResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.GetAllAssistantToolResponse} returns this\n */\nproto.assistant_api.GetAllAssistantToolResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantToolResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.GetAllAssistantToolResponse} returns this\n */\nproto.assistant_api.GetAllAssistantToolResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated AssistantTool data = 3;\n * @return {!Array<!proto.assistant_api.AssistantTool>}\n */\nproto.assistant_api.GetAllAssistantToolResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.assistant_api.AssistantTool>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.assistant_api.AssistantTool, 3));\n};\n\n\n/**\n * @param {!Array<!proto.assistant_api.AssistantTool>} value\n * @return {!proto.assistant_api.GetAllAssistantToolResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantToolResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.assistant_api.AssistantTool=} opt_value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.AssistantTool}\n */\nproto.assistant_api.GetAllAssistantToolResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.assistant_api.AssistantTool, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantToolResponse} returns this\n */\nproto.assistant_api.GetAllAssistantToolResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.GetAllAssistantToolResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantToolResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantToolResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantToolResponse} returns this\n */\nproto.assistant_api.GetAllAssistantToolResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantToolResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.assistant_api.GetAllAssistantToolResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantToolResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantToolResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantToolResponse} returns this\n */\nproto.assistant_api.GetAllAssistantToolResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantToolResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\ngoog.object.extend(exports, proto.assistant_api);\n","// source: assistant-analysis.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.assistant_api.AssistantAnalysis', null, global);\ngoog.exportSymbol('proto.assistant_api.CreateAssistantAnalysisRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.DeleteAssistantAnalysisRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllAssistantAnalysisRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllAssistantAnalysisResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAssistantAnalysisRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAssistantAnalysisResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.UpdateAssistantAnalysisRequest', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.AssistantAnalysis = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.AssistantAnalysis, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.AssistantAnalysis.displayName = 'proto.assistant_api.AssistantAnalysis';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.CreateAssistantAnalysisRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.CreateAssistantAnalysisRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.CreateAssistantAnalysisRequest.displayName = 'proto.assistant_api.CreateAssistantAnalysisRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.UpdateAssistantAnalysisRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.UpdateAssistantAnalysisRequest.displayName = 'proto.assistant_api.UpdateAssistantAnalysisRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAssistantAnalysisRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.GetAssistantAnalysisRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAssistantAnalysisRequest.displayName = 'proto.assistant_api.GetAssistantAnalysisRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.DeleteAssistantAnalysisRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.DeleteAssistantAnalysisRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.DeleteAssistantAnalysisRequest.displayName = 'proto.assistant_api.DeleteAssistantAnalysisRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAssistantAnalysisResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.GetAssistantAnalysisResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAssistantAnalysisResponse.displayName = 'proto.assistant_api.GetAssistantAnalysisResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllAssistantAnalysisRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllAssistantAnalysisRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllAssistantAnalysisRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllAssistantAnalysisRequest.displayName = 'proto.assistant_api.GetAllAssistantAnalysisRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllAssistantAnalysisResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllAssistantAnalysisResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllAssistantAnalysisResponse.displayName = 'proto.assistant_api.GetAllAssistantAnalysisResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.AssistantAnalysis.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.AssistantAnalysis.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.AssistantAnalysis} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantAnalysis.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    endpointid: jspb.Message.getFieldWithDefault(msg, 4, \"0\"),\n    endpointversion: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    endpointparametersMap: (f = msg.getEndpointparametersMap()) ? f.toObject(includeInstance, undefined) : [],\n    assistantid: jspb.Message.getFieldWithDefault(msg, 10, \"0\"),\n    status: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n    createdby: jspb.Message.getFieldWithDefault(msg, 13, \"0\"),\n    createduser: (f = msg.getCreateduser()) && common_pb.User.toObject(includeInstance, f),\n    updatedby: jspb.Message.getFieldWithDefault(msg, 15, \"0\"),\n    updateduser: (f = msg.getUpdateduser()) && common_pb.User.toObject(includeInstance, f),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    executionpriority: jspb.Message.getFieldWithDefault(msg, 20, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.AssistantAnalysis}\n */\nproto.assistant_api.AssistantAnalysis.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.AssistantAnalysis;\n  return proto.assistant_api.AssistantAnalysis.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.AssistantAnalysis} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.AssistantAnalysis}\n */\nproto.assistant_api.AssistantAnalysis.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEndpointversion(value);\n      break;\n    case 7:\n      var value = msg.getEndpointparametersMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 13:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setCreatedby(value);\n      break;\n    case 14:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setCreateduser(value);\n      break;\n    case 15:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setUpdatedby(value);\n      break;\n    case 16:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setUpdateduser(value);\n      break;\n    case 17:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 18:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 20:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setExecutionpriority(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.AssistantAnalysis.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.AssistantAnalysis.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.AssistantAnalysis} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantAnalysis.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n  f = message.getEndpointversion();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getEndpointparametersMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(7, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      10,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n  f = message.getCreatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      13,\n      f\n    );\n  }\n  f = message.getCreateduser();\n  if (f != null) {\n    writer.writeMessage(\n      14,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      15,\n      f\n    );\n  }\n  f = message.getUpdateduser();\n  if (f != null) {\n    writer.writeMessage(\n      16,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      17,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      18,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getExecutionpriority();\n  if (f !== 0) {\n    writer.writeUint32(\n      20,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.AssistantAnalysis.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n */\nproto.assistant_api.AssistantAnalysis.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.assistant_api.AssistantAnalysis.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n */\nproto.assistant_api.AssistantAnalysis.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.assistant_api.AssistantAnalysis.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n */\nproto.assistant_api.AssistantAnalysis.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional uint64 endpointId = 4;\n * @return {string}\n */\nproto.assistant_api.AssistantAnalysis.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n */\nproto.assistant_api.AssistantAnalysis.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 4, value);\n};\n\n\n/**\n * optional string endpointVersion = 5;\n * @return {string}\n */\nproto.assistant_api.AssistantAnalysis.prototype.getEndpointversion = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n */\nproto.assistant_api.AssistantAnalysis.prototype.setEndpointversion = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * map<string, string> endpointParameters = 7;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.assistant_api.AssistantAnalysis.prototype.getEndpointparametersMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 7, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n */\nproto.assistant_api.AssistantAnalysis.prototype.clearEndpointparametersMap = function() {\n  this.getEndpointparametersMap().clear();\n  return this;};\n\n\n/**\n * optional uint64 assistantId = 10;\n * @return {string}\n */\nproto.assistant_api.AssistantAnalysis.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n */\nproto.assistant_api.AssistantAnalysis.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 10, value);\n};\n\n\n/**\n * optional string status = 12;\n * @return {string}\n */\nproto.assistant_api.AssistantAnalysis.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n */\nproto.assistant_api.AssistantAnalysis.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional uint64 createdBy = 13;\n * @return {string}\n */\nproto.assistant_api.AssistantAnalysis.prototype.getCreatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n */\nproto.assistant_api.AssistantAnalysis.prototype.setCreatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 13, value);\n};\n\n\n/**\n * optional User createdUser = 14;\n * @return {?proto.User}\n */\nproto.assistant_api.AssistantAnalysis.prototype.getCreateduser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 14));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n*/\nproto.assistant_api.AssistantAnalysis.prototype.setCreateduser = function(value) {\n  return jspb.Message.setWrapperField(this, 14, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n */\nproto.assistant_api.AssistantAnalysis.prototype.clearCreateduser = function() {\n  return this.setCreateduser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantAnalysis.prototype.hasCreateduser = function() {\n  return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * optional uint64 updatedBy = 15;\n * @return {string}\n */\nproto.assistant_api.AssistantAnalysis.prototype.getUpdatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n */\nproto.assistant_api.AssistantAnalysis.prototype.setUpdatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 15, value);\n};\n\n\n/**\n * optional User updatedUser = 16;\n * @return {?proto.User}\n */\nproto.assistant_api.AssistantAnalysis.prototype.getUpdateduser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 16));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n*/\nproto.assistant_api.AssistantAnalysis.prototype.setUpdateduser = function(value) {\n  return jspb.Message.setWrapperField(this, 16, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n */\nproto.assistant_api.AssistantAnalysis.prototype.clearUpdateduser = function() {\n  return this.setUpdateduser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantAnalysis.prototype.hasUpdateduser = function() {\n  return jspb.Message.getField(this, 16) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 17;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantAnalysis.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 17));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n*/\nproto.assistant_api.AssistantAnalysis.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 17, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n */\nproto.assistant_api.AssistantAnalysis.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantAnalysis.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 17) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 18;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantAnalysis.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 18));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n*/\nproto.assistant_api.AssistantAnalysis.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 18, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n */\nproto.assistant_api.AssistantAnalysis.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantAnalysis.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 18) != null;\n};\n\n\n/**\n * optional uint32 executionPriority = 20;\n * @return {number}\n */\nproto.assistant_api.AssistantAnalysis.prototype.getExecutionpriority = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 20, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.AssistantAnalysis} returns this\n */\nproto.assistant_api.AssistantAnalysis.prototype.setExecutionpriority = function(value) {\n  return jspb.Message.setProto3IntField(this, 20, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.CreateAssistantAnalysisRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.CreateAssistantAnalysisRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    endpointid: jspb.Message.getFieldWithDefault(msg, 4, \"0\"),\n    endpointversion: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    endpointparametersMap: (f = msg.getEndpointparametersMap()) ? f.toObject(includeInstance, undefined) : [],\n    assistantid: jspb.Message.getFieldWithDefault(msg, 10, \"0\"),\n    executionpriority: jspb.Message.getFieldWithDefault(msg, 20, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.CreateAssistantAnalysisRequest}\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.CreateAssistantAnalysisRequest;\n  return proto.assistant_api.CreateAssistantAnalysisRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.CreateAssistantAnalysisRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.CreateAssistantAnalysisRequest}\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEndpointversion(value);\n      break;\n    case 7:\n      var value = msg.getEndpointparametersMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 20:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setExecutionpriority(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.CreateAssistantAnalysisRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.CreateAssistantAnalysisRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n  f = message.getEndpointversion();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getEndpointparametersMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(7, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      10,\n      f\n    );\n  }\n  f = message.getExecutionpriority();\n  if (f !== 0) {\n    writer.writeUint32(\n      20,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional uint64 endpointId = 4;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 4, value);\n};\n\n\n/**\n * optional string endpointVersion = 5;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.prototype.getEndpointversion = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.prototype.setEndpointversion = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * map<string, string> endpointParameters = 7;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.prototype.getEndpointparametersMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 7, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.assistant_api.CreateAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.prototype.clearEndpointparametersMap = function() {\n  this.getEndpointparametersMap().clear();\n  return this;};\n\n\n/**\n * optional uint64 assistantId = 10;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 10, value);\n};\n\n\n/**\n * optional uint32 executionPriority = 20;\n * @return {number}\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.prototype.getExecutionpriority = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 20, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.CreateAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.CreateAssistantAnalysisRequest.prototype.setExecutionpriority = function(value) {\n  return jspb.Message.setProto3IntField(this, 20, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.UpdateAssistantAnalysisRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.UpdateAssistantAnalysisRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    endpointid: jspb.Message.getFieldWithDefault(msg, 4, \"0\"),\n    endpointversion: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    endpointparametersMap: (f = msg.getEndpointparametersMap()) ? f.toObject(includeInstance, undefined) : [],\n    assistantid: jspb.Message.getFieldWithDefault(msg, 10, \"0\"),\n    executionpriority: jspb.Message.getFieldWithDefault(msg, 20, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.UpdateAssistantAnalysisRequest}\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.UpdateAssistantAnalysisRequest;\n  return proto.assistant_api.UpdateAssistantAnalysisRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.UpdateAssistantAnalysisRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.UpdateAssistantAnalysisRequest}\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEndpointversion(value);\n      break;\n    case 7:\n      var value = msg.getEndpointparametersMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 20:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setExecutionpriority(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.UpdateAssistantAnalysisRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.UpdateAssistantAnalysisRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n  f = message.getEndpointversion();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getEndpointparametersMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(7, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      10,\n      f\n    );\n  }\n  f = message.getExecutionpriority();\n  if (f !== 0) {\n    writer.writeUint32(\n      20,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional uint64 endpointId = 4;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 4, value);\n};\n\n\n/**\n * optional string endpointVersion = 5;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.prototype.getEndpointversion = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.prototype.setEndpointversion = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * map<string, string> endpointParameters = 7;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.prototype.getEndpointparametersMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 7, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.assistant_api.UpdateAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.prototype.clearEndpointparametersMap = function() {\n  this.getEndpointparametersMap().clear();\n  return this;};\n\n\n/**\n * optional uint64 assistantId = 10;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 10, value);\n};\n\n\n/**\n * optional uint32 executionPriority = 20;\n * @return {number}\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.prototype.getExecutionpriority = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 20, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.UpdateAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.UpdateAssistantAnalysisRequest.prototype.setExecutionpriority = function(value) {\n  return jspb.Message.setProto3IntField(this, 20, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAssistantAnalysisRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAssistantAnalysisRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAssistantAnalysisRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantAnalysisRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 2, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAssistantAnalysisRequest}\n */\nproto.assistant_api.GetAssistantAnalysisRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAssistantAnalysisRequest;\n  return proto.assistant_api.GetAssistantAnalysisRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAssistantAnalysisRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAssistantAnalysisRequest}\n */\nproto.assistant_api.GetAssistantAnalysisRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAssistantAnalysisRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAssistantAnalysisRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAssistantAnalysisRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantAnalysisRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.GetAssistantAnalysisRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.GetAssistantAnalysisRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantId = 2;\n * @return {string}\n */\nproto.assistant_api.GetAssistantAnalysisRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.GetAssistantAnalysisRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.DeleteAssistantAnalysisRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.DeleteAssistantAnalysisRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.DeleteAssistantAnalysisRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.DeleteAssistantAnalysisRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 2, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.DeleteAssistantAnalysisRequest}\n */\nproto.assistant_api.DeleteAssistantAnalysisRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.DeleteAssistantAnalysisRequest;\n  return proto.assistant_api.DeleteAssistantAnalysisRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.DeleteAssistantAnalysisRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.DeleteAssistantAnalysisRequest}\n */\nproto.assistant_api.DeleteAssistantAnalysisRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.DeleteAssistantAnalysisRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.DeleteAssistantAnalysisRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.DeleteAssistantAnalysisRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.DeleteAssistantAnalysisRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.DeleteAssistantAnalysisRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.DeleteAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.DeleteAssistantAnalysisRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantId = 2;\n * @return {string}\n */\nproto.assistant_api.DeleteAssistantAnalysisRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.DeleteAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.DeleteAssistantAnalysisRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAssistantAnalysisResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAssistantAnalysisResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAssistantAnalysisResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantAnalysisResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.assistant_api.AssistantAnalysis.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAssistantAnalysisResponse}\n */\nproto.assistant_api.GetAssistantAnalysisResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAssistantAnalysisResponse;\n  return proto.assistant_api.GetAssistantAnalysisResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAssistantAnalysisResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAssistantAnalysisResponse}\n */\nproto.assistant_api.GetAssistantAnalysisResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.AssistantAnalysis;\n      reader.readMessage(value,proto.assistant_api.AssistantAnalysis.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAssistantAnalysisResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAssistantAnalysisResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAssistantAnalysisResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantAnalysisResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.assistant_api.AssistantAnalysis.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.GetAssistantAnalysisResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.GetAssistantAnalysisResponse} returns this\n */\nproto.assistant_api.GetAssistantAnalysisResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantAnalysisResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.GetAssistantAnalysisResponse} returns this\n */\nproto.assistant_api.GetAssistantAnalysisResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AssistantAnalysis data = 3;\n * @return {?proto.assistant_api.AssistantAnalysis}\n */\nproto.assistant_api.GetAssistantAnalysisResponse.prototype.getData = function() {\n  return /** @type{?proto.assistant_api.AssistantAnalysis} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.AssistantAnalysis, 3));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantAnalysis|undefined} value\n * @return {!proto.assistant_api.GetAssistantAnalysisResponse} returns this\n*/\nproto.assistant_api.GetAssistantAnalysisResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAssistantAnalysisResponse} returns this\n */\nproto.assistant_api.GetAssistantAnalysisResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantAnalysisResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.GetAssistantAnalysisResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.GetAssistantAnalysisResponse} returns this\n*/\nproto.assistant_api.GetAssistantAnalysisResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAssistantAnalysisResponse} returns this\n */\nproto.assistant_api.GetAssistantAnalysisResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantAnalysisResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllAssistantAnalysisRequest.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllAssistantAnalysisRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllAssistantAnalysisRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllAssistantAnalysisRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantAnalysisRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistantid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllAssistantAnalysisRequest}\n */\nproto.assistant_api.GetAllAssistantAnalysisRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllAssistantAnalysisRequest;\n  return proto.assistant_api.GetAllAssistantAnalysisRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllAssistantAnalysisRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllAssistantAnalysisRequest}\n */\nproto.assistant_api.GetAllAssistantAnalysisRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 2:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 3:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllAssistantAnalysisRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllAssistantAnalysisRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllAssistantAnalysisRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantAnalysisRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 assistantId = 1;\n * @return {string}\n */\nproto.assistant_api.GetAllAssistantAnalysisRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAllAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.GetAllAssistantAnalysisRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional Paginate paginate = 2;\n * @return {?proto.Paginate}\n */\nproto.assistant_api.GetAllAssistantAnalysisRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 2));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantAnalysisRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantAnalysisRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.GetAllAssistantAnalysisRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantAnalysisRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 3;\n * @return {!Array<!proto.Criteria>}\n */\nproto.assistant_api.GetAllAssistantAnalysisRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 3));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.assistant_api.GetAllAssistantAnalysisRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantAnalysisRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.assistant_api.GetAllAssistantAnalysisRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantAnalysisRequest} returns this\n */\nproto.assistant_api.GetAllAssistantAnalysisRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllAssistantAnalysisResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllAssistantAnalysisResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.assistant_api.AssistantAnalysis.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllAssistantAnalysisResponse}\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllAssistantAnalysisResponse;\n  return proto.assistant_api.GetAllAssistantAnalysisResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllAssistantAnalysisResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllAssistantAnalysisResponse}\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.AssistantAnalysis;\n      reader.readMessage(value,proto.assistant_api.AssistantAnalysis.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllAssistantAnalysisResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllAssistantAnalysisResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.assistant_api.AssistantAnalysis.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.GetAllAssistantAnalysisResponse} returns this\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.GetAllAssistantAnalysisResponse} returns this\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated AssistantAnalysis data = 3;\n * @return {!Array<!proto.assistant_api.AssistantAnalysis>}\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.assistant_api.AssistantAnalysis>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.assistant_api.AssistantAnalysis, 3));\n};\n\n\n/**\n * @param {!Array<!proto.assistant_api.AssistantAnalysis>} value\n * @return {!proto.assistant_api.GetAllAssistantAnalysisResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantAnalysisResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.assistant_api.AssistantAnalysis=} opt_value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.AssistantAnalysis}\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.assistant_api.AssistantAnalysis, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantAnalysisResponse} returns this\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantAnalysisResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantAnalysisResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantAnalysisResponse} returns this\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantAnalysisResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantAnalysisResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantAnalysisResponse} returns this\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantAnalysisResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\ngoog.object.extend(exports, proto.assistant_api);\n","// source: assistant-webhook.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\nvar google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js');\ngoog.object.extend(proto, google_protobuf_struct_pb);\ngoog.exportSymbol('proto.assistant_api.AssistantWebhook', null, global);\ngoog.exportSymbol('proto.assistant_api.AssistantWebhookLog', null, global);\ngoog.exportSymbol('proto.assistant_api.CreateAssistantWebhookRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.DeleteAssistantWebhookRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllAssistantWebhookLogRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllAssistantWebhookLogResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllAssistantWebhookRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllAssistantWebhookResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAssistantWebhookLogRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAssistantWebhookLogResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAssistantWebhookRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAssistantWebhookResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.UpdateAssistantWebhookRequest', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.AssistantWebhook = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.AssistantWebhook.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.AssistantWebhook, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.AssistantWebhook.displayName = 'proto.assistant_api.AssistantWebhook';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.AssistantWebhookLog = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.AssistantWebhookLog, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.AssistantWebhookLog.displayName = 'proto.assistant_api.AssistantWebhookLog';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.CreateAssistantWebhookRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.CreateAssistantWebhookRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.CreateAssistantWebhookRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.CreateAssistantWebhookRequest.displayName = 'proto.assistant_api.CreateAssistantWebhookRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.UpdateAssistantWebhookRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.UpdateAssistantWebhookRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.UpdateAssistantWebhookRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.UpdateAssistantWebhookRequest.displayName = 'proto.assistant_api.UpdateAssistantWebhookRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAssistantWebhookRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.GetAssistantWebhookRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAssistantWebhookRequest.displayName = 'proto.assistant_api.GetAssistantWebhookRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.DeleteAssistantWebhookRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.DeleteAssistantWebhookRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.DeleteAssistantWebhookRequest.displayName = 'proto.assistant_api.DeleteAssistantWebhookRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAssistantWebhookResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.GetAssistantWebhookResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAssistantWebhookResponse.displayName = 'proto.assistant_api.GetAssistantWebhookResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllAssistantWebhookRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllAssistantWebhookRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllAssistantWebhookRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllAssistantWebhookRequest.displayName = 'proto.assistant_api.GetAllAssistantWebhookRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllAssistantWebhookResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllAssistantWebhookResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllAssistantWebhookResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllAssistantWebhookResponse.displayName = 'proto.assistant_api.GetAllAssistantWebhookResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllAssistantWebhookLogRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllAssistantWebhookLogRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllAssistantWebhookLogRequest.displayName = 'proto.assistant_api.GetAllAssistantWebhookLogRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAssistantWebhookLogRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.GetAssistantWebhookLogRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAssistantWebhookLogRequest.displayName = 'proto.assistant_api.GetAssistantWebhookLogRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAssistantWebhookLogResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.GetAssistantWebhookLogResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAssistantWebhookLogResponse.displayName = 'proto.assistant_api.GetAssistantWebhookLogResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllAssistantWebhookLogResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllAssistantWebhookLogResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllAssistantWebhookLogResponse.displayName = 'proto.assistant_api.GetAllAssistantWebhookLogResponse';\n}\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.AssistantWebhook.repeatedFields_ = [2,8];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.AssistantWebhook.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.AssistantWebhook.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.AssistantWebhook} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantWebhook.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistanteventsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    httpmethod: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    httpurl: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    httpheadersMap: (f = msg.getHttpheadersMap()) ? f.toObject(includeInstance, undefined) : [],\n    httpbodyMap: (f = msg.getHttpbodyMap()) ? f.toObject(includeInstance, undefined) : [],\n    timeoutsecond: jspb.Message.getFieldWithDefault(msg, 19, 0),\n    executionpriority: jspb.Message.getFieldWithDefault(msg, 20, 0),\n    retrystatuscodesList: (f = jspb.Message.getRepeatedField(msg, 8)) == null ? undefined : f,\n    retrycount: jspb.Message.getFieldWithDefault(msg, 9, 0),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 10, \"0\"),\n    status: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n    createdby: jspb.Message.getFieldWithDefault(msg, 13, \"0\"),\n    createduser: (f = msg.getCreateduser()) && common_pb.User.toObject(includeInstance, f),\n    updatedby: jspb.Message.getFieldWithDefault(msg, 15, \"0\"),\n    updateduser: (f = msg.getUpdateduser()) && common_pb.User.toObject(includeInstance, f),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.AssistantWebhook}\n */\nproto.assistant_api.AssistantWebhook.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.AssistantWebhook;\n  return proto.assistant_api.AssistantWebhook.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.AssistantWebhook} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.AssistantWebhook}\n */\nproto.assistant_api.AssistantWebhook.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addAssistantevents(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHttpmethod(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHttpurl(value);\n      break;\n    case 6:\n      var value = msg.getHttpheadersMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 7:\n      var value = msg.getHttpbodyMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 19:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setTimeoutsecond(value);\n      break;\n    case 20:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setExecutionpriority(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addRetrystatuscodes(value);\n      break;\n    case 9:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setRetrycount(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 13:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setCreatedby(value);\n      break;\n    case 14:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setCreateduser(value);\n      break;\n    case 15:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setUpdatedby(value);\n      break;\n    case 16:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setUpdateduser(value);\n      break;\n    case 17:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 18:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.AssistantWebhook.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.AssistantWebhook.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.AssistantWebhook} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantWebhook.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistanteventsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      2,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getHttpmethod();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getHttpurl();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getHttpheadersMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getHttpbodyMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(7, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getTimeoutsecond();\n  if (f !== 0) {\n    writer.writeUint32(\n      19,\n      f\n    );\n  }\n  f = message.getExecutionpriority();\n  if (f !== 0) {\n    writer.writeUint32(\n      20,\n      f\n    );\n  }\n  f = message.getRetrystatuscodesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      8,\n      f\n    );\n  }\n  f = message.getRetrycount();\n  if (f !== 0) {\n    writer.writeUint32(\n      9,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      10,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n  f = message.getCreatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      13,\n      f\n    );\n  }\n  f = message.getCreateduser();\n  if (f != null) {\n    writer.writeMessage(\n      14,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      15,\n      f\n    );\n  }\n  f = message.getUpdateduser();\n  if (f != null) {\n    writer.writeMessage(\n      16,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      17,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      18,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhook.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * repeated string assistantEvents = 2;\n * @return {!Array<string>}\n */\nproto.assistant_api.AssistantWebhook.prototype.getAssistanteventsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.setAssistanteventsList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.addAssistantevents = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.clearAssistanteventsList = function() {\n  return this.setAssistanteventsList([]);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhook.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string httpMethod = 4;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhook.prototype.getHttpmethod = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.setHttpmethod = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string httpUrl = 5;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhook.prototype.getHttpurl = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.setHttpurl = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * map<string, string> httpHeaders = 6;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.assistant_api.AssistantWebhook.prototype.getHttpheadersMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 6, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.clearHttpheadersMap = function() {\n  this.getHttpheadersMap().clear();\n  return this;};\n\n\n/**\n * map<string, string> httpBody = 7;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.assistant_api.AssistantWebhook.prototype.getHttpbodyMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 7, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.clearHttpbodyMap = function() {\n  this.getHttpbodyMap().clear();\n  return this;};\n\n\n/**\n * optional uint32 timeoutSecond = 19;\n * @return {number}\n */\nproto.assistant_api.AssistantWebhook.prototype.getTimeoutsecond = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 19, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.setTimeoutsecond = function(value) {\n  return jspb.Message.setProto3IntField(this, 19, value);\n};\n\n\n/**\n * optional uint32 executionPriority = 20;\n * @return {number}\n */\nproto.assistant_api.AssistantWebhook.prototype.getExecutionpriority = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 20, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.setExecutionpriority = function(value) {\n  return jspb.Message.setProto3IntField(this, 20, value);\n};\n\n\n/**\n * repeated string retryStatusCodes = 8;\n * @return {!Array<string>}\n */\nproto.assistant_api.AssistantWebhook.prototype.getRetrystatuscodesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 8));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.setRetrystatuscodesList = function(value) {\n  return jspb.Message.setField(this, 8, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.addRetrystatuscodes = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 8, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.clearRetrystatuscodesList = function() {\n  return this.setRetrystatuscodesList([]);\n};\n\n\n/**\n * optional uint32 retryCount = 9;\n * @return {number}\n */\nproto.assistant_api.AssistantWebhook.prototype.getRetrycount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.setRetrycount = function(value) {\n  return jspb.Message.setProto3IntField(this, 9, value);\n};\n\n\n/**\n * optional uint64 assistantId = 10;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhook.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 10, value);\n};\n\n\n/**\n * optional string status = 12;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhook.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional uint64 createdBy = 13;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhook.prototype.getCreatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.setCreatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 13, value);\n};\n\n\n/**\n * optional User createdUser = 14;\n * @return {?proto.User}\n */\nproto.assistant_api.AssistantWebhook.prototype.getCreateduser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 14));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n*/\nproto.assistant_api.AssistantWebhook.prototype.setCreateduser = function(value) {\n  return jspb.Message.setWrapperField(this, 14, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.clearCreateduser = function() {\n  return this.setCreateduser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebhook.prototype.hasCreateduser = function() {\n  return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * optional uint64 updatedBy = 15;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhook.prototype.getUpdatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.setUpdatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 15, value);\n};\n\n\n/**\n * optional User updatedUser = 16;\n * @return {?proto.User}\n */\nproto.assistant_api.AssistantWebhook.prototype.getUpdateduser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 16));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n*/\nproto.assistant_api.AssistantWebhook.prototype.setUpdateduser = function(value) {\n  return jspb.Message.setWrapperField(this, 16, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.clearUpdateduser = function() {\n  return this.setUpdateduser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebhook.prototype.hasUpdateduser = function() {\n  return jspb.Message.getField(this, 16) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 17;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantWebhook.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 17));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n*/\nproto.assistant_api.AssistantWebhook.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 17, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebhook.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 17) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 18;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantWebhook.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 18));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n*/\nproto.assistant_api.AssistantWebhook.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 18, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWebhook} returns this\n */\nproto.assistant_api.AssistantWebhook.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebhook.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 18) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.AssistantWebhookLog.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.AssistantWebhookLog} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantWebhookLog.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    webhookid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    request: (f = msg.getRequest()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    response: (f = msg.getResponse()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    status: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 8, \"0\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 9, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 10, \"0\"),\n    conversationid: jspb.Message.getFieldWithDefault(msg, 11, \"0\"),\n    assetprefix: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n    event: jspb.Message.getFieldWithDefault(msg, 13, \"\"),\n    responsestatus: jspb.Message.getFieldWithDefault(msg, 14, \"0\"),\n    timetaken: jspb.Message.getFieldWithDefault(msg, 15, \"0\"),\n    retrycount: jspb.Message.getFieldWithDefault(msg, 16, 0),\n    httpmethod: jspb.Message.getFieldWithDefault(msg, 17, \"\"),\n    httpurl: jspb.Message.getFieldWithDefault(msg, 18, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.AssistantWebhookLog}\n */\nproto.assistant_api.AssistantWebhookLog.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.AssistantWebhookLog;\n  return proto.assistant_api.AssistantWebhookLog.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.AssistantWebhookLog} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.AssistantWebhookLog}\n */\nproto.assistant_api.AssistantWebhookLog.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setWebhookid(value);\n      break;\n    case 3:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setRequest(value);\n      break;\n    case 4:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setResponse(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 6:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 7:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 11:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setConversationid(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setAssetprefix(value);\n      break;\n    case 13:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEvent(value);\n      break;\n    case 14:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setResponsestatus(value);\n      break;\n    case 15:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setTimetaken(value);\n      break;\n    case 16:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setRetrycount(value);\n      break;\n    case 17:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHttpmethod(value);\n      break;\n    case 18:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHttpurl(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.AssistantWebhookLog.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.AssistantWebhookLog} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantWebhookLog.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getWebhookid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getRequest();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getResponse();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      6,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      7,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      8,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      9,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      10,\n      f\n    );\n  }\n  f = message.getConversationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      11,\n      f\n    );\n  }\n  f = message.getAssetprefix();\n  if (f.length > 0) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n  f = message.getEvent();\n  if (f.length > 0) {\n    writer.writeString(\n      13,\n      f\n    );\n  }\n  f = message.getResponsestatus();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      14,\n      f\n    );\n  }\n  f = message.getTimetaken();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      15,\n      f\n    );\n  }\n  f = message.getRetrycount();\n  if (f !== 0) {\n    writer.writeUint32(\n      16,\n      f\n    );\n  }\n  f = message.getHttpmethod();\n  if (f.length > 0) {\n    writer.writeString(\n      17,\n      f\n    );\n  }\n  f = message.getHttpurl();\n  if (f.length > 0) {\n    writer.writeString(\n      18,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n */\nproto.assistant_api.AssistantWebhookLog.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 webhookId = 2;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.getWebhookid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n */\nproto.assistant_api.AssistantWebhookLog.prototype.setWebhookid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional google.protobuf.Struct request = 3;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.getRequest = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 3));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n*/\nproto.assistant_api.AssistantWebhookLog.prototype.setRequest = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n */\nproto.assistant_api.AssistantWebhookLog.prototype.clearRequest = function() {\n  return this.setRequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.hasRequest = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional google.protobuf.Struct response = 4;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.getResponse = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 4));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n*/\nproto.assistant_api.AssistantWebhookLog.prototype.setResponse = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n */\nproto.assistant_api.AssistantWebhookLog.prototype.clearResponse = function() {\n  return this.setResponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.hasResponse = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional string status = 5;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n */\nproto.assistant_api.AssistantWebhookLog.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 6;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 6));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n*/\nproto.assistant_api.AssistantWebhookLog.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 6, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n */\nproto.assistant_api.AssistantWebhookLog.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 7;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 7));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n*/\nproto.assistant_api.AssistantWebhookLog.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 7, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n */\nproto.assistant_api.AssistantWebhookLog.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 7) != null;\n};\n\n\n/**\n * optional uint64 assistantId = 8;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n */\nproto.assistant_api.AssistantWebhookLog.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 8, value);\n};\n\n\n/**\n * optional uint64 projectId = 9;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n */\nproto.assistant_api.AssistantWebhookLog.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 9, value);\n};\n\n\n/**\n * optional uint64 organizationId = 10;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n */\nproto.assistant_api.AssistantWebhookLog.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 10, value);\n};\n\n\n/**\n * optional uint64 conversationId = 11;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.getConversationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n */\nproto.assistant_api.AssistantWebhookLog.prototype.setConversationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 11, value);\n};\n\n\n/**\n * optional string assetPrefix = 12;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.getAssetprefix = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n */\nproto.assistant_api.AssistantWebhookLog.prototype.setAssetprefix = function(value) {\n  return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional string event = 13;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.getEvent = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n */\nproto.assistant_api.AssistantWebhookLog.prototype.setEvent = function(value) {\n  return jspb.Message.setProto3StringField(this, 13, value);\n};\n\n\n/**\n * optional uint64 responseStatus = 14;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.getResponsestatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 14, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n */\nproto.assistant_api.AssistantWebhookLog.prototype.setResponsestatus = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 14, value);\n};\n\n\n/**\n * optional uint64 timeTaken = 15;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.getTimetaken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n */\nproto.assistant_api.AssistantWebhookLog.prototype.setTimetaken = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 15, value);\n};\n\n\n/**\n * optional uint32 retryCount = 16;\n * @return {number}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.getRetrycount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 16, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n */\nproto.assistant_api.AssistantWebhookLog.prototype.setRetrycount = function(value) {\n  return jspb.Message.setProto3IntField(this, 16, value);\n};\n\n\n/**\n * optional string httpMethod = 17;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.getHttpmethod = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 17, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n */\nproto.assistant_api.AssistantWebhookLog.prototype.setHttpmethod = function(value) {\n  return jspb.Message.setProto3StringField(this, 17, value);\n};\n\n\n/**\n * optional string httpUrl = 18;\n * @return {string}\n */\nproto.assistant_api.AssistantWebhookLog.prototype.getHttpurl = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 18, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantWebhookLog} returns this\n */\nproto.assistant_api.AssistantWebhookLog.prototype.setHttpurl = function(value) {\n  return jspb.Message.setProto3StringField(this, 18, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.CreateAssistantWebhookRequest.repeatedFields_ = [2,8];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.CreateAssistantWebhookRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.CreateAssistantWebhookRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantWebhookRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistanteventsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    httpmethod: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    httpurl: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    httpheadersMap: (f = msg.getHttpheadersMap()) ? f.toObject(includeInstance, undefined) : [],\n    httpbodyMap: (f = msg.getHttpbodyMap()) ? f.toObject(includeInstance, undefined) : [],\n    timeoutsecond: jspb.Message.getFieldWithDefault(msg, 7, 0),\n    retrystatuscodesList: (f = jspb.Message.getRepeatedField(msg, 8)) == null ? undefined : f,\n    maxretrycount: jspb.Message.getFieldWithDefault(msg, 9, 0),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 10, \"0\"),\n    executionpriority: jspb.Message.getFieldWithDefault(msg, 20, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.CreateAssistantWebhookRequest}\n */\nproto.assistant_api.CreateAssistantWebhookRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.CreateAssistantWebhookRequest;\n  return proto.assistant_api.CreateAssistantWebhookRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.CreateAssistantWebhookRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.CreateAssistantWebhookRequest}\n */\nproto.assistant_api.CreateAssistantWebhookRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addAssistantevents(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHttpmethod(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHttpurl(value);\n      break;\n    case 6:\n      var value = msg.getHttpheadersMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 11:\n      var value = msg.getHttpbodyMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 7:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setTimeoutsecond(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addRetrystatuscodes(value);\n      break;\n    case 9:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setMaxretrycount(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 20:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setExecutionpriority(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.CreateAssistantWebhookRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.CreateAssistantWebhookRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantWebhookRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistanteventsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      2,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getHttpmethod();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getHttpurl();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getHttpheadersMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getHttpbodyMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(11, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getTimeoutsecond();\n  if (f !== 0) {\n    writer.writeUint32(\n      7,\n      f\n    );\n  }\n  f = message.getRetrystatuscodesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      8,\n      f\n    );\n  }\n  f = message.getMaxretrycount();\n  if (f !== 0) {\n    writer.writeUint32(\n      9,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      10,\n      f\n    );\n  }\n  f = message.getExecutionpriority();\n  if (f !== 0) {\n    writer.writeUint32(\n      20,\n      f\n    );\n  }\n};\n\n\n/**\n * repeated string assistantEvents = 2;\n * @return {!Array<string>}\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.getAssistanteventsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.assistant_api.CreateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.setAssistanteventsList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.CreateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.addAssistantevents = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.CreateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.clearAssistanteventsList = function() {\n  return this.setAssistanteventsList([]);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string httpMethod = 4;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.getHttpmethod = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.setHttpmethod = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string httpUrl = 5;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.getHttpurl = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.setHttpurl = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * map<string, string> httpHeaders = 6;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.getHttpheadersMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 6, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.assistant_api.CreateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.clearHttpheadersMap = function() {\n  this.getHttpheadersMap().clear();\n  return this;};\n\n\n/**\n * map<string, string> httpBody = 11;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.getHttpbodyMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 11, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.assistant_api.CreateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.clearHttpbodyMap = function() {\n  this.getHttpbodyMap().clear();\n  return this;};\n\n\n/**\n * optional uint32 timeoutSecond = 7;\n * @return {number}\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.getTimeoutsecond = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.CreateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.setTimeoutsecond = function(value) {\n  return jspb.Message.setProto3IntField(this, 7, value);\n};\n\n\n/**\n * repeated string retryStatusCodes = 8;\n * @return {!Array<string>}\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.getRetrystatuscodesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 8));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.assistant_api.CreateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.setRetrystatuscodesList = function(value) {\n  return jspb.Message.setField(this, 8, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.CreateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.addRetrystatuscodes = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 8, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.CreateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.clearRetrystatuscodesList = function() {\n  return this.setRetrystatuscodesList([]);\n};\n\n\n/**\n * optional uint32 maxRetryCount = 9;\n * @return {number}\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.getMaxretrycount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.CreateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.setMaxretrycount = function(value) {\n  return jspb.Message.setProto3IntField(this, 9, value);\n};\n\n\n/**\n * optional uint64 assistantId = 10;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 10, value);\n};\n\n\n/**\n * optional uint32 executionPriority = 20;\n * @return {number}\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.getExecutionpriority = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 20, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.CreateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.CreateAssistantWebhookRequest.prototype.setExecutionpriority = function(value) {\n  return jspb.Message.setProto3IntField(this, 20, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.repeatedFields_ = [2,8];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.UpdateAssistantWebhookRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.UpdateAssistantWebhookRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistanteventsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    httpmethod: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    httpurl: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    httpheadersMap: (f = msg.getHttpheadersMap()) ? f.toObject(includeInstance, undefined) : [],\n    httpbodyMap: (f = msg.getHttpbodyMap()) ? f.toObject(includeInstance, undefined) : [],\n    timeoutsecond: jspb.Message.getFieldWithDefault(msg, 7, 0),\n    retrystatuscodesList: (f = jspb.Message.getRepeatedField(msg, 8)) == null ? undefined : f,\n    maxretrycount: jspb.Message.getFieldWithDefault(msg, 9, 0),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 10, \"0\"),\n    executionpriority: jspb.Message.getFieldWithDefault(msg, 20, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.UpdateAssistantWebhookRequest}\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.UpdateAssistantWebhookRequest;\n  return proto.assistant_api.UpdateAssistantWebhookRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.UpdateAssistantWebhookRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.UpdateAssistantWebhookRequest}\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addAssistantevents(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHttpmethod(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHttpurl(value);\n      break;\n    case 6:\n      var value = msg.getHttpheadersMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 11:\n      var value = msg.getHttpbodyMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 7:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setTimeoutsecond(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addRetrystatuscodes(value);\n      break;\n    case 9:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setMaxretrycount(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 20:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setExecutionpriority(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.UpdateAssistantWebhookRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.UpdateAssistantWebhookRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistanteventsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      2,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getHttpmethod();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getHttpurl();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getHttpheadersMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getHttpbodyMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(11, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getTimeoutsecond();\n  if (f !== 0) {\n    writer.writeUint32(\n      7,\n      f\n    );\n  }\n  f = message.getRetrystatuscodesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      8,\n      f\n    );\n  }\n  f = message.getMaxretrycount();\n  if (f !== 0) {\n    writer.writeUint32(\n      9,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      10,\n      f\n    );\n  }\n  f = message.getExecutionpriority();\n  if (f !== 0) {\n    writer.writeUint32(\n      20,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * repeated string assistantEvents = 2;\n * @return {!Array<string>}\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.getAssistanteventsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.assistant_api.UpdateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.setAssistanteventsList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.UpdateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.addAssistantevents = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.UpdateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.clearAssistanteventsList = function() {\n  return this.setAssistanteventsList([]);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string httpMethod = 4;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.getHttpmethod = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.setHttpmethod = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string httpUrl = 5;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.getHttpurl = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.setHttpurl = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * map<string, string> httpHeaders = 6;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.getHttpheadersMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 6, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.assistant_api.UpdateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.clearHttpheadersMap = function() {\n  this.getHttpheadersMap().clear();\n  return this;};\n\n\n/**\n * map<string, string> httpBody = 11;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.getHttpbodyMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 11, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.assistant_api.UpdateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.clearHttpbodyMap = function() {\n  this.getHttpbodyMap().clear();\n  return this;};\n\n\n/**\n * optional uint32 timeoutSecond = 7;\n * @return {number}\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.getTimeoutsecond = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.UpdateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.setTimeoutsecond = function(value) {\n  return jspb.Message.setProto3IntField(this, 7, value);\n};\n\n\n/**\n * repeated string retryStatusCodes = 8;\n * @return {!Array<string>}\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.getRetrystatuscodesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 8));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.assistant_api.UpdateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.setRetrystatuscodesList = function(value) {\n  return jspb.Message.setField(this, 8, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.UpdateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.addRetrystatuscodes = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 8, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.UpdateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.clearRetrystatuscodesList = function() {\n  return this.setRetrystatuscodesList([]);\n};\n\n\n/**\n * optional uint32 maxRetryCount = 9;\n * @return {number}\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.getMaxretrycount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.UpdateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.setMaxretrycount = function(value) {\n  return jspb.Message.setProto3IntField(this, 9, value);\n};\n\n\n/**\n * optional uint64 assistantId = 10;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 10, value);\n};\n\n\n/**\n * optional uint32 executionPriority = 20;\n * @return {number}\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.getExecutionpriority = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 20, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.UpdateAssistantWebhookRequest} returns this\n */\nproto.assistant_api.UpdateAssistantWebhookRequest.prototype.setExecutionpriority = function(value) {\n  return jspb.Message.setProto3IntField(this, 20, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAssistantWebhookRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAssistantWebhookRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAssistantWebhookRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantWebhookRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 2, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAssistantWebhookRequest}\n */\nproto.assistant_api.GetAssistantWebhookRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAssistantWebhookRequest;\n  return proto.assistant_api.GetAssistantWebhookRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAssistantWebhookRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAssistantWebhookRequest}\n */\nproto.assistant_api.GetAssistantWebhookRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAssistantWebhookRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAssistantWebhookRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAssistantWebhookRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantWebhookRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.GetAssistantWebhookRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAssistantWebhookRequest} returns this\n */\nproto.assistant_api.GetAssistantWebhookRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantId = 2;\n * @return {string}\n */\nproto.assistant_api.GetAssistantWebhookRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAssistantWebhookRequest} returns this\n */\nproto.assistant_api.GetAssistantWebhookRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.DeleteAssistantWebhookRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.DeleteAssistantWebhookRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.DeleteAssistantWebhookRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.DeleteAssistantWebhookRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 2, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.DeleteAssistantWebhookRequest}\n */\nproto.assistant_api.DeleteAssistantWebhookRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.DeleteAssistantWebhookRequest;\n  return proto.assistant_api.DeleteAssistantWebhookRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.DeleteAssistantWebhookRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.DeleteAssistantWebhookRequest}\n */\nproto.assistant_api.DeleteAssistantWebhookRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.DeleteAssistantWebhookRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.DeleteAssistantWebhookRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.DeleteAssistantWebhookRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.DeleteAssistantWebhookRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.DeleteAssistantWebhookRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.DeleteAssistantWebhookRequest} returns this\n */\nproto.assistant_api.DeleteAssistantWebhookRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantId = 2;\n * @return {string}\n */\nproto.assistant_api.DeleteAssistantWebhookRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.DeleteAssistantWebhookRequest} returns this\n */\nproto.assistant_api.DeleteAssistantWebhookRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAssistantWebhookResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAssistantWebhookResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAssistantWebhookResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantWebhookResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.assistant_api.AssistantWebhook.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAssistantWebhookResponse}\n */\nproto.assistant_api.GetAssistantWebhookResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAssistantWebhookResponse;\n  return proto.assistant_api.GetAssistantWebhookResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAssistantWebhookResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAssistantWebhookResponse}\n */\nproto.assistant_api.GetAssistantWebhookResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.AssistantWebhook;\n      reader.readMessage(value,proto.assistant_api.AssistantWebhook.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAssistantWebhookResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAssistantWebhookResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAssistantWebhookResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantWebhookResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.assistant_api.AssistantWebhook.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.GetAssistantWebhookResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.GetAssistantWebhookResponse} returns this\n */\nproto.assistant_api.GetAssistantWebhookResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantWebhookResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.GetAssistantWebhookResponse} returns this\n */\nproto.assistant_api.GetAssistantWebhookResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AssistantWebhook data = 3;\n * @return {?proto.assistant_api.AssistantWebhook}\n */\nproto.assistant_api.GetAssistantWebhookResponse.prototype.getData = function() {\n  return /** @type{?proto.assistant_api.AssistantWebhook} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.AssistantWebhook, 3));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantWebhook|undefined} value\n * @return {!proto.assistant_api.GetAssistantWebhookResponse} returns this\n*/\nproto.assistant_api.GetAssistantWebhookResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAssistantWebhookResponse} returns this\n */\nproto.assistant_api.GetAssistantWebhookResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantWebhookResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.GetAssistantWebhookResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.GetAssistantWebhookResponse} returns this\n*/\nproto.assistant_api.GetAssistantWebhookResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAssistantWebhookResponse} returns this\n */\nproto.assistant_api.GetAssistantWebhookResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantWebhookResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllAssistantWebhookRequest.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllAssistantWebhookRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllAssistantWebhookRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllAssistantWebhookRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantWebhookRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    webhookid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 4, \"0\"),\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllAssistantWebhookRequest}\n */\nproto.assistant_api.GetAllAssistantWebhookRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllAssistantWebhookRequest;\n  return proto.assistant_api.GetAllAssistantWebhookRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllAssistantWebhookRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllAssistantWebhookRequest}\n */\nproto.assistant_api.GetAllAssistantWebhookRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setWebhookid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 2:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 3:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllAssistantWebhookRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllAssistantWebhookRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllAssistantWebhookRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantWebhookRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getWebhookid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 webhookId = 1;\n * @return {string}\n */\nproto.assistant_api.GetAllAssistantWebhookRequest.prototype.getWebhookid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAllAssistantWebhookRequest} returns this\n */\nproto.assistant_api.GetAllAssistantWebhookRequest.prototype.setWebhookid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantId = 4;\n * @return {string}\n */\nproto.assistant_api.GetAllAssistantWebhookRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAllAssistantWebhookRequest} returns this\n */\nproto.assistant_api.GetAllAssistantWebhookRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 4, value);\n};\n\n\n/**\n * optional Paginate paginate = 2;\n * @return {?proto.Paginate}\n */\nproto.assistant_api.GetAllAssistantWebhookRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 2));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantWebhookRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantWebhookRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantWebhookRequest} returns this\n */\nproto.assistant_api.GetAllAssistantWebhookRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantWebhookRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 3;\n * @return {!Array<!proto.Criteria>}\n */\nproto.assistant_api.GetAllAssistantWebhookRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 3));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.assistant_api.GetAllAssistantWebhookRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantWebhookRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.assistant_api.GetAllAssistantWebhookRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantWebhookRequest} returns this\n */\nproto.assistant_api.GetAllAssistantWebhookRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllAssistantWebhookResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllAssistantWebhookResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.assistant_api.AssistantWebhook.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllAssistantWebhookResponse}\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllAssistantWebhookResponse;\n  return proto.assistant_api.GetAllAssistantWebhookResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllAssistantWebhookResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllAssistantWebhookResponse}\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.AssistantWebhook;\n      reader.readMessage(value,proto.assistant_api.AssistantWebhook.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllAssistantWebhookResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllAssistantWebhookResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.assistant_api.AssistantWebhook.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.GetAllAssistantWebhookResponse} returns this\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.GetAllAssistantWebhookResponse} returns this\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated AssistantWebhook data = 3;\n * @return {!Array<!proto.assistant_api.AssistantWebhook>}\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.assistant_api.AssistantWebhook>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.assistant_api.AssistantWebhook, 3));\n};\n\n\n/**\n * @param {!Array<!proto.assistant_api.AssistantWebhook>} value\n * @return {!proto.assistant_api.GetAllAssistantWebhookResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantWebhookResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.assistant_api.AssistantWebhook=} opt_value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.AssistantWebhook}\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.assistant_api.AssistantWebhook, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantWebhookResponse} returns this\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantWebhookResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantWebhookResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantWebhookResponse} returns this\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantWebhookResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantWebhookResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantWebhookResponse} returns this\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantWebhookResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllAssistantWebhookLogRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllAssistantWebhookLogRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    projectid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance),\n    order: (f = msg.getOrder()) && common_pb.Ordering.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogRequest}\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllAssistantWebhookLogRequest;\n  return proto.assistant_api.GetAllAssistantWebhookLogRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllAssistantWebhookLogRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogRequest}\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 3:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 4:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 5:\n      var value = new common_pb.Ordering;\n      reader.readMessage(value,common_pb.Ordering.deserializeBinaryFromReader);\n      msg.setOrder(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllAssistantWebhookLogRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllAssistantWebhookLogRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getOrder();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Ordering.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 projectId = 2;\n * @return {string}\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogRequest} returns this\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional Paginate paginate = 3;\n * @return {?proto.Paginate}\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 3));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantWebhookLogRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogRequest} returns this\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 4;\n * @return {!Array<!proto.Criteria>}\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 4));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantWebhookLogRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogRequest} returns this\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional Ordering order = 5;\n * @return {?proto.Ordering}\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest.prototype.getOrder = function() {\n  return /** @type{?proto.Ordering} */ (\n    jspb.Message.getWrapperField(this, common_pb.Ordering, 5));\n};\n\n\n/**\n * @param {?proto.Ordering|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantWebhookLogRequest.prototype.setOrder = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogRequest} returns this\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest.prototype.clearOrder = function() {\n  return this.setOrder(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantWebhookLogRequest.prototype.hasOrder = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAssistantWebhookLogRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAssistantWebhookLogRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAssistantWebhookLogRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantWebhookLogRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    projectid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    id: jspb.Message.getFieldWithDefault(msg, 3, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAssistantWebhookLogRequest}\n */\nproto.assistant_api.GetAssistantWebhookLogRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAssistantWebhookLogRequest;\n  return proto.assistant_api.GetAssistantWebhookLogRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAssistantWebhookLogRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAssistantWebhookLogRequest}\n */\nproto.assistant_api.GetAssistantWebhookLogRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAssistantWebhookLogRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAssistantWebhookLogRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAssistantWebhookLogRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantWebhookLogRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 projectId = 2;\n * @return {string}\n */\nproto.assistant_api.GetAssistantWebhookLogRequest.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAssistantWebhookLogRequest} returns this\n */\nproto.assistant_api.GetAssistantWebhookLogRequest.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional uint64 id = 3;\n * @return {string}\n */\nproto.assistant_api.GetAssistantWebhookLogRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAssistantWebhookLogRequest} returns this\n */\nproto.assistant_api.GetAssistantWebhookLogRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAssistantWebhookLogResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAssistantWebhookLogResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAssistantWebhookLogResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantWebhookLogResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.assistant_api.AssistantWebhookLog.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAssistantWebhookLogResponse}\n */\nproto.assistant_api.GetAssistantWebhookLogResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAssistantWebhookLogResponse;\n  return proto.assistant_api.GetAssistantWebhookLogResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAssistantWebhookLogResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAssistantWebhookLogResponse}\n */\nproto.assistant_api.GetAssistantWebhookLogResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.AssistantWebhookLog;\n      reader.readMessage(value,proto.assistant_api.AssistantWebhookLog.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAssistantWebhookLogResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAssistantWebhookLogResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAssistantWebhookLogResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantWebhookLogResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.assistant_api.AssistantWebhookLog.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.GetAssistantWebhookLogResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.GetAssistantWebhookLogResponse} returns this\n */\nproto.assistant_api.GetAssistantWebhookLogResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantWebhookLogResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.GetAssistantWebhookLogResponse} returns this\n */\nproto.assistant_api.GetAssistantWebhookLogResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AssistantWebhookLog data = 3;\n * @return {?proto.assistant_api.AssistantWebhookLog}\n */\nproto.assistant_api.GetAssistantWebhookLogResponse.prototype.getData = function() {\n  return /** @type{?proto.assistant_api.AssistantWebhookLog} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.AssistantWebhookLog, 3));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantWebhookLog|undefined} value\n * @return {!proto.assistant_api.GetAssistantWebhookLogResponse} returns this\n*/\nproto.assistant_api.GetAssistantWebhookLogResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAssistantWebhookLogResponse} returns this\n */\nproto.assistant_api.GetAssistantWebhookLogResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantWebhookLogResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.GetAssistantWebhookLogResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.GetAssistantWebhookLogResponse} returns this\n*/\nproto.assistant_api.GetAssistantWebhookLogResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAssistantWebhookLogResponse} returns this\n */\nproto.assistant_api.GetAssistantWebhookLogResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantWebhookLogResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllAssistantWebhookLogResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllAssistantWebhookLogResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.assistant_api.AssistantWebhookLog.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogResponse}\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllAssistantWebhookLogResponse;\n  return proto.assistant_api.GetAllAssistantWebhookLogResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllAssistantWebhookLogResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogResponse}\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.AssistantWebhookLog;\n      reader.readMessage(value,proto.assistant_api.AssistantWebhookLog.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllAssistantWebhookLogResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllAssistantWebhookLogResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.assistant_api.AssistantWebhookLog.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogResponse} returns this\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogResponse} returns this\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated AssistantWebhookLog data = 3;\n * @return {!Array<!proto.assistant_api.AssistantWebhookLog>}\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.assistant_api.AssistantWebhookLog>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.assistant_api.AssistantWebhookLog, 3));\n};\n\n\n/**\n * @param {!Array<!proto.assistant_api.AssistantWebhookLog>} value\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantWebhookLogResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.assistant_api.AssistantWebhookLog=} opt_value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.AssistantWebhookLog}\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.assistant_api.AssistantWebhookLog, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogResponse} returns this\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantWebhookLogResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogResponse} returns this\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantWebhookLogResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantWebhookLogResponse} returns this\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantWebhookLogResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\ngoog.object.extend(exports, proto.assistant_api);\n","// source: assistant-knowledge.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.assistant_api.AssistantKnowledge', null, global);\ngoog.exportSymbol('proto.assistant_api.CreateAssistantKnowledgeRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.DeleteAssistantKnowledgeRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllAssistantKnowledgeRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllAssistantKnowledgeResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAssistantKnowledgeRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAssistantKnowledgeResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.UpdateAssistantKnowledgeRequest', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.AssistantKnowledge = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.AssistantKnowledge.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.AssistantKnowledge, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.AssistantKnowledge.displayName = 'proto.assistant_api.AssistantKnowledge';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.CreateAssistantKnowledgeRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.CreateAssistantKnowledgeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.CreateAssistantKnowledgeRequest.displayName = 'proto.assistant_api.CreateAssistantKnowledgeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.UpdateAssistantKnowledgeRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.UpdateAssistantKnowledgeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.UpdateAssistantKnowledgeRequest.displayName = 'proto.assistant_api.UpdateAssistantKnowledgeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAssistantKnowledgeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.GetAssistantKnowledgeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAssistantKnowledgeRequest.displayName = 'proto.assistant_api.GetAssistantKnowledgeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.DeleteAssistantKnowledgeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.DeleteAssistantKnowledgeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.DeleteAssistantKnowledgeRequest.displayName = 'proto.assistant_api.DeleteAssistantKnowledgeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAssistantKnowledgeResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.GetAssistantKnowledgeResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAssistantKnowledgeResponse.displayName = 'proto.assistant_api.GetAssistantKnowledgeResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllAssistantKnowledgeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllAssistantKnowledgeRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllAssistantKnowledgeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllAssistantKnowledgeRequest.displayName = 'proto.assistant_api.GetAllAssistantKnowledgeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllAssistantKnowledgeResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllAssistantKnowledgeResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllAssistantKnowledgeResponse.displayName = 'proto.assistant_api.GetAllAssistantKnowledgeResponse';\n}\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.AssistantKnowledge.repeatedFields_ = [12];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.AssistantKnowledge.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.AssistantKnowledge.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.AssistantKnowledge} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantKnowledge.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    knowledgeid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    rerankerenable: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),\n    topk: jspb.Message.getFieldWithDefault(msg, 6, 0),\n    scorethreshold: jspb.Message.getFloatingPointFieldWithDefault(msg, 7, 0.0),\n    knowledge: (f = msg.getKnowledge()) && common_pb.Knowledge.toObject(includeInstance, f),\n    retrievalmethod: jspb.Message.getFieldWithDefault(msg, 9, \"\"),\n    rerankermodelproviderid: jspb.Message.getFieldWithDefault(msg, 10, \"0\"),\n    rerankermodelprovidername: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n    assistantknowledgererankeroptionsList: jspb.Message.toObjectList(msg.getAssistantknowledgererankeroptionsList(),\n    common_pb.Metadata.toObject, includeInstance),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    status: jspb.Message.getFieldWithDefault(msg, 15, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.AssistantKnowledge}\n */\nproto.assistant_api.AssistantKnowledge.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.AssistantKnowledge;\n  return proto.assistant_api.AssistantKnowledge.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.AssistantKnowledge} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.AssistantKnowledge}\n */\nproto.assistant_api.AssistantKnowledge.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeid(value);\n      break;\n    case 3:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setRerankerenable(value);\n      break;\n    case 6:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setTopk(value);\n      break;\n    case 7:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setScorethreshold(value);\n      break;\n    case 8:\n      var value = new common_pb.Knowledge;\n      reader.readMessage(value,common_pb.Knowledge.deserializeBinaryFromReader);\n      msg.setKnowledge(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRetrievalmethod(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setRerankermodelproviderid(value);\n      break;\n    case 11:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRerankermodelprovidername(value);\n      break;\n    case 12:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addAssistantknowledgererankeroptions(value);\n      break;\n    case 13:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 14:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 15:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.AssistantKnowledge.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.AssistantKnowledge.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.AssistantKnowledge} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantKnowledge.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getKnowledgeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getRerankerenable();\n  if (f) {\n    writer.writeBool(\n      3,\n      f\n    );\n  }\n  f = message.getTopk();\n  if (f !== 0) {\n    writer.writeUint32(\n      6,\n      f\n    );\n  }\n  f = message.getScorethreshold();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      7,\n      f\n    );\n  }\n  f = message.getKnowledge();\n  if (f != null) {\n    writer.writeMessage(\n      8,\n      f,\n      common_pb.Knowledge.serializeBinaryToWriter\n    );\n  }\n  f = message.getRetrievalmethod();\n  if (f.length > 0) {\n    writer.writeString(\n      9,\n      f\n    );\n  }\n  f = message.getRerankermodelproviderid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      10,\n      f\n    );\n  }\n  f = message.getRerankermodelprovidername();\n  if (f.length > 0) {\n    writer.writeString(\n      11,\n      f\n    );\n  }\n  f = message.getAssistantknowledgererankeroptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      12,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      13,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      14,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      15,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.AssistantKnowledge.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantKnowledge} returns this\n */\nproto.assistant_api.AssistantKnowledge.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 knowledgeId = 2;\n * @return {string}\n */\nproto.assistant_api.AssistantKnowledge.prototype.getKnowledgeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantKnowledge} returns this\n */\nproto.assistant_api.AssistantKnowledge.prototype.setKnowledgeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional bool rerankerEnable = 3;\n * @return {boolean}\n */\nproto.assistant_api.AssistantKnowledge.prototype.getRerankerenable = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.AssistantKnowledge} returns this\n */\nproto.assistant_api.AssistantKnowledge.prototype.setRerankerenable = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n/**\n * optional uint32 topK = 6;\n * @return {number}\n */\nproto.assistant_api.AssistantKnowledge.prototype.getTopk = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.AssistantKnowledge} returns this\n */\nproto.assistant_api.AssistantKnowledge.prototype.setTopk = function(value) {\n  return jspb.Message.setProto3IntField(this, 6, value);\n};\n\n\n/**\n * optional float scoreThreshold = 7;\n * @return {number}\n */\nproto.assistant_api.AssistantKnowledge.prototype.getScorethreshold = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 7, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.AssistantKnowledge} returns this\n */\nproto.assistant_api.AssistantKnowledge.prototype.setScorethreshold = function(value) {\n  return jspb.Message.setProto3FloatField(this, 7, value);\n};\n\n\n/**\n * optional Knowledge knowledge = 8;\n * @return {?proto.Knowledge}\n */\nproto.assistant_api.AssistantKnowledge.prototype.getKnowledge = function() {\n  return /** @type{?proto.Knowledge} */ (\n    jspb.Message.getWrapperField(this, common_pb.Knowledge, 8));\n};\n\n\n/**\n * @param {?proto.Knowledge|undefined} value\n * @return {!proto.assistant_api.AssistantKnowledge} returns this\n*/\nproto.assistant_api.AssistantKnowledge.prototype.setKnowledge = function(value) {\n  return jspb.Message.setWrapperField(this, 8, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantKnowledge} returns this\n */\nproto.assistant_api.AssistantKnowledge.prototype.clearKnowledge = function() {\n  return this.setKnowledge(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantKnowledge.prototype.hasKnowledge = function() {\n  return jspb.Message.getField(this, 8) != null;\n};\n\n\n/**\n * optional string retrievalMethod = 9;\n * @return {string}\n */\nproto.assistant_api.AssistantKnowledge.prototype.getRetrievalmethod = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantKnowledge} returns this\n */\nproto.assistant_api.AssistantKnowledge.prototype.setRetrievalmethod = function(value) {\n  return jspb.Message.setProto3StringField(this, 9, value);\n};\n\n\n/**\n * optional uint64 rerankerModelProviderId = 10;\n * @return {string}\n */\nproto.assistant_api.AssistantKnowledge.prototype.getRerankermodelproviderid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantKnowledge} returns this\n */\nproto.assistant_api.AssistantKnowledge.prototype.setRerankermodelproviderid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 10, value);\n};\n\n\n/**\n * optional string rerankerModelProviderName = 11;\n * @return {string}\n */\nproto.assistant_api.AssistantKnowledge.prototype.getRerankermodelprovidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantKnowledge} returns this\n */\nproto.assistant_api.AssistantKnowledge.prototype.setRerankermodelprovidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * repeated Metadata assistantKnowledgeRerankerOptions = 12;\n * @return {!Array<!proto.Metadata>}\n */\nproto.assistant_api.AssistantKnowledge.prototype.getAssistantknowledgererankeroptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 12));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.assistant_api.AssistantKnowledge} returns this\n*/\nproto.assistant_api.AssistantKnowledge.prototype.setAssistantknowledgererankeroptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 12, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.assistant_api.AssistantKnowledge.prototype.addAssistantknowledgererankeroptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 12, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.AssistantKnowledge} returns this\n */\nproto.assistant_api.AssistantKnowledge.prototype.clearAssistantknowledgererankeroptionsList = function() {\n  return this.setAssistantknowledgererankeroptionsList([]);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 13;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantKnowledge.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 13));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantKnowledge} returns this\n*/\nproto.assistant_api.AssistantKnowledge.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 13, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantKnowledge} returns this\n */\nproto.assistant_api.AssistantKnowledge.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantKnowledge.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 13) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 14;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantKnowledge.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 14));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantKnowledge} returns this\n*/\nproto.assistant_api.AssistantKnowledge.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 14, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantKnowledge} returns this\n */\nproto.assistant_api.AssistantKnowledge.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantKnowledge.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * optional string status = 15;\n * @return {string}\n */\nproto.assistant_api.AssistantKnowledge.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantKnowledge} returns this\n */\nproto.assistant_api.AssistantKnowledge.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 15, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.repeatedFields_ = [5];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.CreateAssistantKnowledgeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.CreateAssistantKnowledgeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    knowledgeid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    rerankermodelproviderid: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    rerankermodelprovidername: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    assistantknowledgererankeroptionsList: jspb.Message.toObjectList(msg.getAssistantknowledgererankeroptionsList(),\n    common_pb.Metadata.toObject, includeInstance),\n    topk: jspb.Message.getFieldWithDefault(msg, 6, 0),\n    scorethreshold: jspb.Message.getFloatingPointFieldWithDefault(msg, 7, 0.0),\n    retrievalmethod: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n    rerankerenable: jspb.Message.getBooleanFieldWithDefault(msg, 9, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.CreateAssistantKnowledgeRequest}\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.CreateAssistantKnowledgeRequest;\n  return proto.assistant_api.CreateAssistantKnowledgeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.CreateAssistantKnowledgeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.CreateAssistantKnowledgeRequest}\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setRerankermodelproviderid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRerankermodelprovidername(value);\n      break;\n    case 5:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addAssistantknowledgererankeroptions(value);\n      break;\n    case 6:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setTopk(value);\n      break;\n    case 7:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setScorethreshold(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRetrievalmethod(value);\n      break;\n    case 9:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setRerankerenable(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.CreateAssistantKnowledgeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.CreateAssistantKnowledgeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getKnowledgeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getRerankermodelproviderid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getRerankermodelprovidername();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getAssistantknowledgererankeroptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      5,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getTopk();\n  if (f !== 0) {\n    writer.writeUint32(\n      6,\n      f\n    );\n  }\n  f = message.getScorethreshold();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      7,\n      f\n    );\n  }\n  f = message.getRetrievalmethod();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n  f = message.getRerankerenable();\n  if (f) {\n    writer.writeBool(\n      9,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 knowledgeId = 1;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.getKnowledgeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.setKnowledgeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantId = 2;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional uint64 rerankerModelProviderId = 3;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.getRerankermodelproviderid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.setRerankermodelproviderid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional string rerankerModelProviderName = 4;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.getRerankermodelprovidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.setRerankermodelprovidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * repeated Metadata assistantKnowledgeRerankerOptions = 5;\n * @return {!Array<!proto.Metadata>}\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.getAssistantknowledgererankeroptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 5));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.assistant_api.CreateAssistantKnowledgeRequest} returns this\n*/\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.setAssistantknowledgererankeroptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 5, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.addAssistantknowledgererankeroptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.CreateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.clearAssistantknowledgererankeroptionsList = function() {\n  return this.setAssistantknowledgererankeroptionsList([]);\n};\n\n\n/**\n * optional uint32 topK = 6;\n * @return {number}\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.getTopk = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.CreateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.setTopk = function(value) {\n  return jspb.Message.setProto3IntField(this, 6, value);\n};\n\n\n/**\n * optional float scoreThreshold = 7;\n * @return {number}\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.getScorethreshold = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 7, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.CreateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.setScorethreshold = function(value) {\n  return jspb.Message.setProto3FloatField(this, 7, value);\n};\n\n\n/**\n * optional string retrievalMethod = 8;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.getRetrievalmethod = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.setRetrievalmethod = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n/**\n * optional bool rerankerEnable = 9;\n * @return {boolean}\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.getRerankerenable = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 9, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.CreateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.CreateAssistantKnowledgeRequest.prototype.setRerankerenable = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 9, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.repeatedFields_ = [6];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.UpdateAssistantKnowledgeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.UpdateAssistantKnowledgeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    knowledgeid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    rerankermodelproviderid: jspb.Message.getFieldWithDefault(msg, 4, \"0\"),\n    rerankermodelprovidername: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    assistantknowledgererankeroptionsList: jspb.Message.toObjectList(msg.getAssistantknowledgererankeroptionsList(),\n    common_pb.Metadata.toObject, includeInstance),\n    scorethreshold: jspb.Message.getFloatingPointFieldWithDefault(msg, 7, 0.0),\n    topk: jspb.Message.getFieldWithDefault(msg, 8, 0),\n    retrievalmethod: jspb.Message.getFieldWithDefault(msg, 9, \"\"),\n    rerankerenable: jspb.Message.getBooleanFieldWithDefault(msg, 10, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.UpdateAssistantKnowledgeRequest}\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.UpdateAssistantKnowledgeRequest;\n  return proto.assistant_api.UpdateAssistantKnowledgeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.UpdateAssistantKnowledgeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.UpdateAssistantKnowledgeRequest}\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setRerankermodelproviderid(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRerankermodelprovidername(value);\n      break;\n    case 6:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addAssistantknowledgererankeroptions(value);\n      break;\n    case 7:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setScorethreshold(value);\n      break;\n    case 8:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setTopk(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRetrievalmethod(value);\n      break;\n    case 10:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setRerankerenable(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.UpdateAssistantKnowledgeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.UpdateAssistantKnowledgeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getKnowledgeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getRerankermodelproviderid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n  f = message.getRerankermodelprovidername();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getAssistantknowledgererankeroptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      6,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getScorethreshold();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      7,\n      f\n    );\n  }\n  f = message.getTopk();\n  if (f !== 0) {\n    writer.writeUint32(\n      8,\n      f\n    );\n  }\n  f = message.getRetrievalmethod();\n  if (f.length > 0) {\n    writer.writeString(\n      9,\n      f\n    );\n  }\n  f = message.getRerankerenable();\n  if (f) {\n    writer.writeBool(\n      10,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 knowledgeId = 2;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.getKnowledgeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.setKnowledgeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional uint64 assistantId = 3;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional uint64 rerankerModelProviderId = 4;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.getRerankermodelproviderid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.setRerankermodelproviderid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 4, value);\n};\n\n\n/**\n * optional string rerankerModelProviderName = 5;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.getRerankermodelprovidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.setRerankermodelprovidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * repeated Metadata assistantKnowledgeRerankerOptions = 6;\n * @return {!Array<!proto.Metadata>}\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.getAssistantknowledgererankeroptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 6));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.assistant_api.UpdateAssistantKnowledgeRequest} returns this\n*/\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.setAssistantknowledgererankeroptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 6, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.addAssistantknowledgererankeroptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.UpdateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.clearAssistantknowledgererankeroptionsList = function() {\n  return this.setAssistantknowledgererankeroptionsList([]);\n};\n\n\n/**\n * optional float scoreThreshold = 7;\n * @return {number}\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.getScorethreshold = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 7, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.UpdateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.setScorethreshold = function(value) {\n  return jspb.Message.setProto3FloatField(this, 7, value);\n};\n\n\n/**\n * optional uint32 topK = 8;\n * @return {number}\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.getTopk = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.UpdateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.setTopk = function(value) {\n  return jspb.Message.setProto3IntField(this, 8, value);\n};\n\n\n/**\n * optional string retrievalMethod = 9;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.getRetrievalmethod = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.setRetrievalmethod = function(value) {\n  return jspb.Message.setProto3StringField(this, 9, value);\n};\n\n\n/**\n * optional bool rerankerEnable = 10;\n * @return {boolean}\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.getRerankerenable = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 10, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.UpdateAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.UpdateAssistantKnowledgeRequest.prototype.setRerankerenable = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 10, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAssistantKnowledgeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAssistantKnowledgeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAssistantKnowledgeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantKnowledgeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 2, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAssistantKnowledgeRequest}\n */\nproto.assistant_api.GetAssistantKnowledgeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAssistantKnowledgeRequest;\n  return proto.assistant_api.GetAssistantKnowledgeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAssistantKnowledgeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAssistantKnowledgeRequest}\n */\nproto.assistant_api.GetAssistantKnowledgeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAssistantKnowledgeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAssistantKnowledgeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAssistantKnowledgeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantKnowledgeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.GetAssistantKnowledgeRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.GetAssistantKnowledgeRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantId = 2;\n * @return {string}\n */\nproto.assistant_api.GetAssistantKnowledgeRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.GetAssistantKnowledgeRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.DeleteAssistantKnowledgeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.DeleteAssistantKnowledgeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.DeleteAssistantKnowledgeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.DeleteAssistantKnowledgeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 2, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.DeleteAssistantKnowledgeRequest}\n */\nproto.assistant_api.DeleteAssistantKnowledgeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.DeleteAssistantKnowledgeRequest;\n  return proto.assistant_api.DeleteAssistantKnowledgeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.DeleteAssistantKnowledgeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.DeleteAssistantKnowledgeRequest}\n */\nproto.assistant_api.DeleteAssistantKnowledgeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.DeleteAssistantKnowledgeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.DeleteAssistantKnowledgeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.DeleteAssistantKnowledgeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.DeleteAssistantKnowledgeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.DeleteAssistantKnowledgeRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.DeleteAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.DeleteAssistantKnowledgeRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantId = 2;\n * @return {string}\n */\nproto.assistant_api.DeleteAssistantKnowledgeRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.DeleteAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.DeleteAssistantKnowledgeRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAssistantKnowledgeResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAssistantKnowledgeResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAssistantKnowledgeResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantKnowledgeResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.assistant_api.AssistantKnowledge.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAssistantKnowledgeResponse}\n */\nproto.assistant_api.GetAssistantKnowledgeResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAssistantKnowledgeResponse;\n  return proto.assistant_api.GetAssistantKnowledgeResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAssistantKnowledgeResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAssistantKnowledgeResponse}\n */\nproto.assistant_api.GetAssistantKnowledgeResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.AssistantKnowledge;\n      reader.readMessage(value,proto.assistant_api.AssistantKnowledge.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAssistantKnowledgeResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAssistantKnowledgeResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAssistantKnowledgeResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantKnowledgeResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.assistant_api.AssistantKnowledge.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.GetAssistantKnowledgeResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.GetAssistantKnowledgeResponse} returns this\n */\nproto.assistant_api.GetAssistantKnowledgeResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantKnowledgeResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.GetAssistantKnowledgeResponse} returns this\n */\nproto.assistant_api.GetAssistantKnowledgeResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AssistantKnowledge data = 3;\n * @return {?proto.assistant_api.AssistantKnowledge}\n */\nproto.assistant_api.GetAssistantKnowledgeResponse.prototype.getData = function() {\n  return /** @type{?proto.assistant_api.AssistantKnowledge} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.AssistantKnowledge, 3));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantKnowledge|undefined} value\n * @return {!proto.assistant_api.GetAssistantKnowledgeResponse} returns this\n*/\nproto.assistant_api.GetAssistantKnowledgeResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAssistantKnowledgeResponse} returns this\n */\nproto.assistant_api.GetAssistantKnowledgeResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantKnowledgeResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.GetAssistantKnowledgeResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.GetAssistantKnowledgeResponse} returns this\n*/\nproto.assistant_api.GetAssistantKnowledgeResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAssistantKnowledgeResponse} returns this\n */\nproto.assistant_api.GetAssistantKnowledgeResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantKnowledgeResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllAssistantKnowledgeRequest.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllAssistantKnowledgeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllAssistantKnowledgeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllAssistantKnowledgeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantKnowledgeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistantid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllAssistantKnowledgeRequest}\n */\nproto.assistant_api.GetAllAssistantKnowledgeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllAssistantKnowledgeRequest;\n  return proto.assistant_api.GetAllAssistantKnowledgeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllAssistantKnowledgeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllAssistantKnowledgeRequest}\n */\nproto.assistant_api.GetAllAssistantKnowledgeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 2:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 3:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllAssistantKnowledgeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllAssistantKnowledgeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllAssistantKnowledgeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantKnowledgeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 assistantId = 1;\n * @return {string}\n */\nproto.assistant_api.GetAllAssistantKnowledgeRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAllAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.GetAllAssistantKnowledgeRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional Paginate paginate = 2;\n * @return {?proto.Paginate}\n */\nproto.assistant_api.GetAllAssistantKnowledgeRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 2));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantKnowledgeRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantKnowledgeRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.GetAllAssistantKnowledgeRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantKnowledgeRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 3;\n * @return {!Array<!proto.Criteria>}\n */\nproto.assistant_api.GetAllAssistantKnowledgeRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 3));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.assistant_api.GetAllAssistantKnowledgeRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantKnowledgeRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.assistant_api.GetAllAssistantKnowledgeRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantKnowledgeRequest} returns this\n */\nproto.assistant_api.GetAllAssistantKnowledgeRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllAssistantKnowledgeResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllAssistantKnowledgeResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.assistant_api.AssistantKnowledge.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllAssistantKnowledgeResponse}\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllAssistantKnowledgeResponse;\n  return proto.assistant_api.GetAllAssistantKnowledgeResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllAssistantKnowledgeResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllAssistantKnowledgeResponse}\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.AssistantKnowledge;\n      reader.readMessage(value,proto.assistant_api.AssistantKnowledge.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllAssistantKnowledgeResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllAssistantKnowledgeResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.assistant_api.AssistantKnowledge.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.GetAllAssistantKnowledgeResponse} returns this\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.GetAllAssistantKnowledgeResponse} returns this\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated AssistantKnowledge data = 3;\n * @return {!Array<!proto.assistant_api.AssistantKnowledge>}\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.assistant_api.AssistantKnowledge>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.assistant_api.AssistantKnowledge, 3));\n};\n\n\n/**\n * @param {!Array<!proto.assistant_api.AssistantKnowledge>} value\n * @return {!proto.assistant_api.GetAllAssistantKnowledgeResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantKnowledgeResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.assistant_api.AssistantKnowledge=} opt_value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.AssistantKnowledge}\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.assistant_api.AssistantKnowledge, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantKnowledgeResponse} returns this\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantKnowledgeResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantKnowledgeResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantKnowledgeResponse} returns this\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantKnowledgeResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantKnowledgeResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantKnowledgeResponse} returns this\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantKnowledgeResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\ngoog.object.extend(exports, proto.assistant_api);\n","// source: assistant-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\nvar assistant$deployment_pb = require('./assistant-deployment_pb.js');\ngoog.object.extend(proto, assistant$deployment_pb);\nvar assistant$tool_pb = require('./assistant-tool_pb.js');\ngoog.object.extend(proto, assistant$tool_pb);\nvar assistant$analysis_pb = require('./assistant-analysis_pb.js');\ngoog.object.extend(proto, assistant$analysis_pb);\nvar assistant$webhook_pb = require('./assistant-webhook_pb.js');\ngoog.object.extend(proto, assistant$webhook_pb);\nvar assistant$knowledge_pb = require('./assistant-knowledge_pb.js');\ngoog.object.extend(proto, assistant$knowledge_pb);\ngoog.exportSymbol('proto.assistant_api.Assistant', null, global);\ngoog.exportSymbol('proto.assistant_api.AssistantProviderModel', null, global);\ngoog.exportSymbol('proto.assistant_api.CreateAssistantProviderModelRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.CreateAssistantRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.CreateAssistantTagRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.DeleteAssistantRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllAssistantMessageRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllAssistantMessageResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllAssistantProviderModelRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllAssistantProviderModelResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllAssistantRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllAssistantResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllAssistantUserConversationRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllAssistantUserConversationResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllMessageRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAllMessageResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAssistantConversationRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAssistantConversationResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAssistantProviderModelResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAssistantRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.GetAssistantResponse', null, global);\ngoog.exportSymbol('proto.assistant_api.UpdateAssistantDetailRequest', null, global);\ngoog.exportSymbol('proto.assistant_api.UpdateAssistantVersionRequest', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.Assistant = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.Assistant.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.Assistant, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.Assistant.displayName = 'proto.assistant_api.Assistant';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.AssistantProviderModel = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.AssistantProviderModel.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.AssistantProviderModel, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.AssistantProviderModel.displayName = 'proto.assistant_api.AssistantProviderModel';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.CreateAssistantRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.CreateAssistantRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.CreateAssistantRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.CreateAssistantRequest.displayName = 'proto.assistant_api.CreateAssistantRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.CreateAssistantProviderModelRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.CreateAssistantProviderModelRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.CreateAssistantProviderModelRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.CreateAssistantProviderModelRequest.displayName = 'proto.assistant_api.CreateAssistantProviderModelRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAssistantProviderModelResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.GetAssistantProviderModelResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAssistantProviderModelResponse.displayName = 'proto.assistant_api.GetAssistantProviderModelResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.CreateAssistantTagRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.CreateAssistantTagRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.CreateAssistantTagRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.CreateAssistantTagRequest.displayName = 'proto.assistant_api.CreateAssistantTagRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAssistantRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.GetAssistantRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAssistantRequest.displayName = 'proto.assistant_api.GetAssistantRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.DeleteAssistantRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.DeleteAssistantRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.DeleteAssistantRequest.displayName = 'proto.assistant_api.DeleteAssistantRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAssistantResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.GetAssistantResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAssistantResponse.displayName = 'proto.assistant_api.GetAssistantResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllAssistantRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllAssistantRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllAssistantRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllAssistantRequest.displayName = 'proto.assistant_api.GetAllAssistantRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllAssistantResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllAssistantResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllAssistantResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllAssistantResponse.displayName = 'proto.assistant_api.GetAllAssistantResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllAssistantProviderModelRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllAssistantProviderModelRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllAssistantProviderModelRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllAssistantProviderModelRequest.displayName = 'proto.assistant_api.GetAllAssistantProviderModelRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllAssistantProviderModelResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllAssistantProviderModelResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllAssistantProviderModelResponse.displayName = 'proto.assistant_api.GetAllAssistantProviderModelResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllAssistantMessageRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllAssistantMessageRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllAssistantMessageRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllAssistantMessageRequest.displayName = 'proto.assistant_api.GetAllAssistantMessageRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllAssistantMessageResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllAssistantMessageResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllAssistantMessageResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllAssistantMessageResponse.displayName = 'proto.assistant_api.GetAllAssistantMessageResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllMessageRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllMessageRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllMessageRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllMessageRequest.displayName = 'proto.assistant_api.GetAllMessageRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllMessageResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllMessageResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllMessageResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllMessageResponse.displayName = 'proto.assistant_api.GetAllMessageResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.UpdateAssistantVersionRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.UpdateAssistantVersionRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.UpdateAssistantVersionRequest.displayName = 'proto.assistant_api.UpdateAssistantVersionRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.UpdateAssistantDetailRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.UpdateAssistantDetailRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.UpdateAssistantDetailRequest.displayName = 'proto.assistant_api.UpdateAssistantDetailRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllAssistantUserConversationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllAssistantUserConversationRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllAssistantUserConversationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllAssistantUserConversationRequest.displayName = 'proto.assistant_api.GetAllAssistantUserConversationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAllAssistantUserConversationResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAllAssistantUserConversationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAllAssistantUserConversationResponse.displayName = 'proto.assistant_api.GetAllAssistantUserConversationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAssistantConversationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.assistant_api.GetAssistantConversationRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.assistant_api.GetAssistantConversationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAssistantConversationRequest.displayName = 'proto.assistant_api.GetAssistantConversationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.assistant_api.GetAssistantConversationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.assistant_api.GetAssistantConversationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.assistant_api.GetAssistantConversationResponse.displayName = 'proto.assistant_api.GetAssistantConversationResponse';\n}\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.Assistant.repeatedFields_ = [6,35,36];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.Assistant.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.Assistant.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.Assistant} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.Assistant.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    status: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    visibility: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    source: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    sourceidentifier: jspb.Message.getFieldWithDefault(msg, 5, \"0\"),\n    assistanttoolsList: jspb.Message.toObjectList(msg.getAssistanttoolsList(),\n    assistant$tool_pb.AssistantTool.toObject, includeInstance),\n    projectid: jspb.Message.getFieldWithDefault(msg, 7, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 8, \"0\"),\n    assistantprovidermodelid: jspb.Message.getFieldWithDefault(msg, 9, \"0\"),\n    assistantprovidermodel: (f = msg.getAssistantprovidermodel()) && proto.assistant_api.AssistantProviderModel.toObject(includeInstance, f),\n    name: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n    assistanttag: (f = msg.getAssistanttag()) && common_pb.Tag.toObject(includeInstance, f),\n    language: jspb.Message.getFieldWithDefault(msg, 16, \"\"),\n    organization: (f = msg.getOrganization()) && common_pb.Organization.toObject(includeInstance, f),\n    createdby: jspb.Message.getFieldWithDefault(msg, 22, \"0\"),\n    createduser: (f = msg.getCreateduser()) && common_pb.User.toObject(includeInstance, f),\n    updatedby: jspb.Message.getFieldWithDefault(msg, 24, \"0\"),\n    updateduser: (f = msg.getUpdateduser()) && common_pb.User.toObject(includeInstance, f),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    debuggerdeployment: (f = msg.getDebuggerdeployment()) && assistant$deployment_pb.AssistantDebuggerDeployment.toObject(includeInstance, f),\n    phonedeployment: (f = msg.getPhonedeployment()) && assistant$deployment_pb.AssistantPhoneDeployment.toObject(includeInstance, f),\n    whatsappdeployment: (f = msg.getWhatsappdeployment()) && assistant$deployment_pb.AssistantWhatsappDeployment.toObject(includeInstance, f),\n    webplugindeployment: (f = msg.getWebplugindeployment()) && assistant$deployment_pb.AssistantWebpluginDeployment.toObject(includeInstance, f),\n    apideployment: (f = msg.getApideployment()) && assistant$deployment_pb.AssistantApiDeployment.toObject(includeInstance, f),\n    assistantconversationsList: jspb.Message.toObjectList(msg.getAssistantconversationsList(),\n    common_pb.AssistantConversation.toObject, includeInstance),\n    assistantwebhooksList: jspb.Message.toObjectList(msg.getAssistantwebhooksList(),\n    assistant$webhook_pb.AssistantWebhook.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.Assistant}\n */\nproto.assistant_api.Assistant.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.Assistant;\n  return proto.assistant_api.Assistant.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.Assistant} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.Assistant}\n */\nproto.assistant_api.Assistant.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVisibility(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setSource(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setSourceidentifier(value);\n      break;\n    case 6:\n      var value = new assistant$tool_pb.AssistantTool;\n      reader.readMessage(value,assistant$tool_pb.AssistantTool.deserializeBinaryFromReader);\n      msg.addAssistanttools(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantprovidermodelid(value);\n      break;\n    case 10:\n      var value = new proto.assistant_api.AssistantProviderModel;\n      reader.readMessage(value,proto.assistant_api.AssistantProviderModel.deserializeBinaryFromReader);\n      msg.setAssistantprovidermodel(value);\n      break;\n    case 11:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 14:\n      var value = new common_pb.Tag;\n      reader.readMessage(value,common_pb.Tag.deserializeBinaryFromReader);\n      msg.setAssistanttag(value);\n      break;\n    case 16:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLanguage(value);\n      break;\n    case 17:\n      var value = new common_pb.Organization;\n      reader.readMessage(value,common_pb.Organization.deserializeBinaryFromReader);\n      msg.setOrganization(value);\n      break;\n    case 22:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setCreatedby(value);\n      break;\n    case 23:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setCreateduser(value);\n      break;\n    case 24:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setUpdatedby(value);\n      break;\n    case 25:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setUpdateduser(value);\n      break;\n    case 26:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 27:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 30:\n      var value = new assistant$deployment_pb.AssistantDebuggerDeployment;\n      reader.readMessage(value,assistant$deployment_pb.AssistantDebuggerDeployment.deserializeBinaryFromReader);\n      msg.setDebuggerdeployment(value);\n      break;\n    case 31:\n      var value = new assistant$deployment_pb.AssistantPhoneDeployment;\n      reader.readMessage(value,assistant$deployment_pb.AssistantPhoneDeployment.deserializeBinaryFromReader);\n      msg.setPhonedeployment(value);\n      break;\n    case 32:\n      var value = new assistant$deployment_pb.AssistantWhatsappDeployment;\n      reader.readMessage(value,assistant$deployment_pb.AssistantWhatsappDeployment.deserializeBinaryFromReader);\n      msg.setWhatsappdeployment(value);\n      break;\n    case 33:\n      var value = new assistant$deployment_pb.AssistantWebpluginDeployment;\n      reader.readMessage(value,assistant$deployment_pb.AssistantWebpluginDeployment.deserializeBinaryFromReader);\n      msg.setWebplugindeployment(value);\n      break;\n    case 34:\n      var value = new assistant$deployment_pb.AssistantApiDeployment;\n      reader.readMessage(value,assistant$deployment_pb.AssistantApiDeployment.deserializeBinaryFromReader);\n      msg.setApideployment(value);\n      break;\n    case 35:\n      var value = new common_pb.AssistantConversation;\n      reader.readMessage(value,common_pb.AssistantConversation.deserializeBinaryFromReader);\n      msg.addAssistantconversations(value);\n      break;\n    case 36:\n      var value = new assistant$webhook_pb.AssistantWebhook;\n      reader.readMessage(value,assistant$webhook_pb.AssistantWebhook.deserializeBinaryFromReader);\n      msg.addAssistantwebhooks(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.Assistant.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.Assistant.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.Assistant} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.Assistant.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getVisibility();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getSource();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getSourceidentifier();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n  f = message.getAssistanttoolsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      6,\n      f,\n      assistant$tool_pb.AssistantTool.serializeBinaryToWriter\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      7,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      8,\n      f\n    );\n  }\n  f = message.getAssistantprovidermodelid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      9,\n      f\n    );\n  }\n  f = message.getAssistantprovidermodel();\n  if (f != null) {\n    writer.writeMessage(\n      10,\n      f,\n      proto.assistant_api.AssistantProviderModel.serializeBinaryToWriter\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      11,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n  f = message.getAssistanttag();\n  if (f != null) {\n    writer.writeMessage(\n      14,\n      f,\n      common_pb.Tag.serializeBinaryToWriter\n    );\n  }\n  f = message.getLanguage();\n  if (f.length > 0) {\n    writer.writeString(\n      16,\n      f\n    );\n  }\n  f = message.getOrganization();\n  if (f != null) {\n    writer.writeMessage(\n      17,\n      f,\n      common_pb.Organization.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      22,\n      f\n    );\n  }\n  f = message.getCreateduser();\n  if (f != null) {\n    writer.writeMessage(\n      23,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      24,\n      f\n    );\n  }\n  f = message.getUpdateduser();\n  if (f != null) {\n    writer.writeMessage(\n      25,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      26,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      27,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getDebuggerdeployment();\n  if (f != null) {\n    writer.writeMessage(\n      30,\n      f,\n      assistant$deployment_pb.AssistantDebuggerDeployment.serializeBinaryToWriter\n    );\n  }\n  f = message.getPhonedeployment();\n  if (f != null) {\n    writer.writeMessage(\n      31,\n      f,\n      assistant$deployment_pb.AssistantPhoneDeployment.serializeBinaryToWriter\n    );\n  }\n  f = message.getWhatsappdeployment();\n  if (f != null) {\n    writer.writeMessage(\n      32,\n      f,\n      assistant$deployment_pb.AssistantWhatsappDeployment.serializeBinaryToWriter\n    );\n  }\n  f = message.getWebplugindeployment();\n  if (f != null) {\n    writer.writeMessage(\n      33,\n      f,\n      assistant$deployment_pb.AssistantWebpluginDeployment.serializeBinaryToWriter\n    );\n  }\n  f = message.getApideployment();\n  if (f != null) {\n    writer.writeMessage(\n      34,\n      f,\n      assistant$deployment_pb.AssistantApiDeployment.serializeBinaryToWriter\n    );\n  }\n  f = message.getAssistantconversationsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      35,\n      f,\n      common_pb.AssistantConversation.serializeBinaryToWriter\n    );\n  }\n  f = message.getAssistantwebhooksList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      36,\n      f,\n      assistant$webhook_pb.AssistantWebhook.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.Assistant.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string status = 2;\n * @return {string}\n */\nproto.assistant_api.Assistant.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string visibility = 3;\n * @return {string}\n */\nproto.assistant_api.Assistant.prototype.getVisibility = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.setVisibility = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string source = 4;\n * @return {string}\n */\nproto.assistant_api.Assistant.prototype.getSource = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.setSource = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional uint64 sourceIdentifier = 5;\n * @return {string}\n */\nproto.assistant_api.Assistant.prototype.getSourceidentifier = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.setSourceidentifier = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n/**\n * repeated AssistantTool assistantTools = 6;\n * @return {!Array<!proto.assistant_api.AssistantTool>}\n */\nproto.assistant_api.Assistant.prototype.getAssistanttoolsList = function() {\n  return /** @type{!Array<!proto.assistant_api.AssistantTool>} */ (\n    jspb.Message.getRepeatedWrapperField(this, assistant$tool_pb.AssistantTool, 6));\n};\n\n\n/**\n * @param {!Array<!proto.assistant_api.AssistantTool>} value\n * @return {!proto.assistant_api.Assistant} returns this\n*/\nproto.assistant_api.Assistant.prototype.setAssistanttoolsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 6, value);\n};\n\n\n/**\n * @param {!proto.assistant_api.AssistantTool=} opt_value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.AssistantTool}\n */\nproto.assistant_api.Assistant.prototype.addAssistanttools = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.assistant_api.AssistantTool, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.clearAssistanttoolsList = function() {\n  return this.setAssistanttoolsList([]);\n};\n\n\n/**\n * optional uint64 projectId = 7;\n * @return {string}\n */\nproto.assistant_api.Assistant.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 7, value);\n};\n\n\n/**\n * optional uint64 organizationId = 8;\n * @return {string}\n */\nproto.assistant_api.Assistant.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 8, value);\n};\n\n\n/**\n * optional uint64 assistantProviderModelId = 9;\n * @return {string}\n */\nproto.assistant_api.Assistant.prototype.getAssistantprovidermodelid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.setAssistantprovidermodelid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 9, value);\n};\n\n\n/**\n * optional AssistantProviderModel assistantProviderModel = 10;\n * @return {?proto.assistant_api.AssistantProviderModel}\n */\nproto.assistant_api.Assistant.prototype.getAssistantprovidermodel = function() {\n  return /** @type{?proto.assistant_api.AssistantProviderModel} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.AssistantProviderModel, 10));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantProviderModel|undefined} value\n * @return {!proto.assistant_api.Assistant} returns this\n*/\nproto.assistant_api.Assistant.prototype.setAssistantprovidermodel = function(value) {\n  return jspb.Message.setWrapperField(this, 10, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.clearAssistantprovidermodel = function() {\n  return this.setAssistantprovidermodel(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.Assistant.prototype.hasAssistantprovidermodel = function() {\n  return jspb.Message.getField(this, 10) != null;\n};\n\n\n/**\n * optional string name = 11;\n * @return {string}\n */\nproto.assistant_api.Assistant.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string description = 12;\n * @return {string}\n */\nproto.assistant_api.Assistant.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional Tag assistantTag = 14;\n * @return {?proto.Tag}\n */\nproto.assistant_api.Assistant.prototype.getAssistanttag = function() {\n  return /** @type{?proto.Tag} */ (\n    jspb.Message.getWrapperField(this, common_pb.Tag, 14));\n};\n\n\n/**\n * @param {?proto.Tag|undefined} value\n * @return {!proto.assistant_api.Assistant} returns this\n*/\nproto.assistant_api.Assistant.prototype.setAssistanttag = function(value) {\n  return jspb.Message.setWrapperField(this, 14, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.clearAssistanttag = function() {\n  return this.setAssistanttag(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.Assistant.prototype.hasAssistanttag = function() {\n  return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * optional string language = 16;\n * @return {string}\n */\nproto.assistant_api.Assistant.prototype.getLanguage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 16, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.setLanguage = function(value) {\n  return jspb.Message.setProto3StringField(this, 16, value);\n};\n\n\n/**\n * optional Organization organization = 17;\n * @return {?proto.Organization}\n */\nproto.assistant_api.Assistant.prototype.getOrganization = function() {\n  return /** @type{?proto.Organization} */ (\n    jspb.Message.getWrapperField(this, common_pb.Organization, 17));\n};\n\n\n/**\n * @param {?proto.Organization|undefined} value\n * @return {!proto.assistant_api.Assistant} returns this\n*/\nproto.assistant_api.Assistant.prototype.setOrganization = function(value) {\n  return jspb.Message.setWrapperField(this, 17, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.clearOrganization = function() {\n  return this.setOrganization(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.Assistant.prototype.hasOrganization = function() {\n  return jspb.Message.getField(this, 17) != null;\n};\n\n\n/**\n * optional uint64 createdBy = 22;\n * @return {string}\n */\nproto.assistant_api.Assistant.prototype.getCreatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 22, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.setCreatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 22, value);\n};\n\n\n/**\n * optional User createdUser = 23;\n * @return {?proto.User}\n */\nproto.assistant_api.Assistant.prototype.getCreateduser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 23));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.assistant_api.Assistant} returns this\n*/\nproto.assistant_api.Assistant.prototype.setCreateduser = function(value) {\n  return jspb.Message.setWrapperField(this, 23, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.clearCreateduser = function() {\n  return this.setCreateduser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.Assistant.prototype.hasCreateduser = function() {\n  return jspb.Message.getField(this, 23) != null;\n};\n\n\n/**\n * optional uint64 updatedBy = 24;\n * @return {string}\n */\nproto.assistant_api.Assistant.prototype.getUpdatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 24, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.setUpdatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 24, value);\n};\n\n\n/**\n * optional User updatedUser = 25;\n * @return {?proto.User}\n */\nproto.assistant_api.Assistant.prototype.getUpdateduser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 25));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.assistant_api.Assistant} returns this\n*/\nproto.assistant_api.Assistant.prototype.setUpdateduser = function(value) {\n  return jspb.Message.setWrapperField(this, 25, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.clearUpdateduser = function() {\n  return this.setUpdateduser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.Assistant.prototype.hasUpdateduser = function() {\n  return jspb.Message.getField(this, 25) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 26;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.Assistant.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 26));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.Assistant} returns this\n*/\nproto.assistant_api.Assistant.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 26, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.Assistant.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 26) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 27;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.Assistant.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 27));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.Assistant} returns this\n*/\nproto.assistant_api.Assistant.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 27, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.Assistant.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 27) != null;\n};\n\n\n/**\n * optional AssistantDebuggerDeployment debuggerDeployment = 30;\n * @return {?proto.assistant_api.AssistantDebuggerDeployment}\n */\nproto.assistant_api.Assistant.prototype.getDebuggerdeployment = function() {\n  return /** @type{?proto.assistant_api.AssistantDebuggerDeployment} */ (\n    jspb.Message.getWrapperField(this, assistant$deployment_pb.AssistantDebuggerDeployment, 30));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantDebuggerDeployment|undefined} value\n * @return {!proto.assistant_api.Assistant} returns this\n*/\nproto.assistant_api.Assistant.prototype.setDebuggerdeployment = function(value) {\n  return jspb.Message.setWrapperField(this, 30, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.clearDebuggerdeployment = function() {\n  return this.setDebuggerdeployment(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.Assistant.prototype.hasDebuggerdeployment = function() {\n  return jspb.Message.getField(this, 30) != null;\n};\n\n\n/**\n * optional AssistantPhoneDeployment phoneDeployment = 31;\n * @return {?proto.assistant_api.AssistantPhoneDeployment}\n */\nproto.assistant_api.Assistant.prototype.getPhonedeployment = function() {\n  return /** @type{?proto.assistant_api.AssistantPhoneDeployment} */ (\n    jspb.Message.getWrapperField(this, assistant$deployment_pb.AssistantPhoneDeployment, 31));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantPhoneDeployment|undefined} value\n * @return {!proto.assistant_api.Assistant} returns this\n*/\nproto.assistant_api.Assistant.prototype.setPhonedeployment = function(value) {\n  return jspb.Message.setWrapperField(this, 31, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.clearPhonedeployment = function() {\n  return this.setPhonedeployment(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.Assistant.prototype.hasPhonedeployment = function() {\n  return jspb.Message.getField(this, 31) != null;\n};\n\n\n/**\n * optional AssistantWhatsappDeployment whatsappDeployment = 32;\n * @return {?proto.assistant_api.AssistantWhatsappDeployment}\n */\nproto.assistant_api.Assistant.prototype.getWhatsappdeployment = function() {\n  return /** @type{?proto.assistant_api.AssistantWhatsappDeployment} */ (\n    jspb.Message.getWrapperField(this, assistant$deployment_pb.AssistantWhatsappDeployment, 32));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantWhatsappDeployment|undefined} value\n * @return {!proto.assistant_api.Assistant} returns this\n*/\nproto.assistant_api.Assistant.prototype.setWhatsappdeployment = function(value) {\n  return jspb.Message.setWrapperField(this, 32, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.clearWhatsappdeployment = function() {\n  return this.setWhatsappdeployment(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.Assistant.prototype.hasWhatsappdeployment = function() {\n  return jspb.Message.getField(this, 32) != null;\n};\n\n\n/**\n * optional AssistantWebpluginDeployment webPluginDeployment = 33;\n * @return {?proto.assistant_api.AssistantWebpluginDeployment}\n */\nproto.assistant_api.Assistant.prototype.getWebplugindeployment = function() {\n  return /** @type{?proto.assistant_api.AssistantWebpluginDeployment} */ (\n    jspb.Message.getWrapperField(this, assistant$deployment_pb.AssistantWebpluginDeployment, 33));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantWebpluginDeployment|undefined} value\n * @return {!proto.assistant_api.Assistant} returns this\n*/\nproto.assistant_api.Assistant.prototype.setWebplugindeployment = function(value) {\n  return jspb.Message.setWrapperField(this, 33, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.clearWebplugindeployment = function() {\n  return this.setWebplugindeployment(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.Assistant.prototype.hasWebplugindeployment = function() {\n  return jspb.Message.getField(this, 33) != null;\n};\n\n\n/**\n * optional AssistantApiDeployment apiDeployment = 34;\n * @return {?proto.assistant_api.AssistantApiDeployment}\n */\nproto.assistant_api.Assistant.prototype.getApideployment = function() {\n  return /** @type{?proto.assistant_api.AssistantApiDeployment} */ (\n    jspb.Message.getWrapperField(this, assistant$deployment_pb.AssistantApiDeployment, 34));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantApiDeployment|undefined} value\n * @return {!proto.assistant_api.Assistant} returns this\n*/\nproto.assistant_api.Assistant.prototype.setApideployment = function(value) {\n  return jspb.Message.setWrapperField(this, 34, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.clearApideployment = function() {\n  return this.setApideployment(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.Assistant.prototype.hasApideployment = function() {\n  return jspb.Message.getField(this, 34) != null;\n};\n\n\n/**\n * repeated AssistantConversation assistantConversations = 35;\n * @return {!Array<!proto.AssistantConversation>}\n */\nproto.assistant_api.Assistant.prototype.getAssistantconversationsList = function() {\n  return /** @type{!Array<!proto.AssistantConversation>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.AssistantConversation, 35));\n};\n\n\n/**\n * @param {!Array<!proto.AssistantConversation>} value\n * @return {!proto.assistant_api.Assistant} returns this\n*/\nproto.assistant_api.Assistant.prototype.setAssistantconversationsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 35, value);\n};\n\n\n/**\n * @param {!proto.AssistantConversation=} opt_value\n * @param {number=} opt_index\n * @return {!proto.AssistantConversation}\n */\nproto.assistant_api.Assistant.prototype.addAssistantconversations = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 35, opt_value, proto.AssistantConversation, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.clearAssistantconversationsList = function() {\n  return this.setAssistantconversationsList([]);\n};\n\n\n/**\n * repeated AssistantWebhook assistantWebhooks = 36;\n * @return {!Array<!proto.assistant_api.AssistantWebhook>}\n */\nproto.assistant_api.Assistant.prototype.getAssistantwebhooksList = function() {\n  return /** @type{!Array<!proto.assistant_api.AssistantWebhook>} */ (\n    jspb.Message.getRepeatedWrapperField(this, assistant$webhook_pb.AssistantWebhook, 36));\n};\n\n\n/**\n * @param {!Array<!proto.assistant_api.AssistantWebhook>} value\n * @return {!proto.assistant_api.Assistant} returns this\n*/\nproto.assistant_api.Assistant.prototype.setAssistantwebhooksList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 36, value);\n};\n\n\n/**\n * @param {!proto.assistant_api.AssistantWebhook=} opt_value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.AssistantWebhook}\n */\nproto.assistant_api.Assistant.prototype.addAssistantwebhooks = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 36, opt_value, proto.assistant_api.AssistantWebhook, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.Assistant} returns this\n */\nproto.assistant_api.Assistant.prototype.clearAssistantwebhooksList = function() {\n  return this.setAssistantwebhooksList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.AssistantProviderModel.repeatedFields_ = [9];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.AssistantProviderModel.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.AssistantProviderModel.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.AssistantProviderModel} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantProviderModel.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    template: (f = msg.getTemplate()) && common_pb.TextChatCompletePrompt.toObject(includeInstance, f),\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    modelproviderid: jspb.Message.getFieldWithDefault(msg, 6, \"0\"),\n    modelprovidername: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    assistantmodeloptionsList: jspb.Message.toObjectList(msg.getAssistantmodeloptionsList(),\n    common_pb.Metadata.toObject, includeInstance),\n    status: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n    createdby: jspb.Message.getFieldWithDefault(msg, 13, \"0\"),\n    createduser: (f = msg.getCreateduser()) && common_pb.User.toObject(includeInstance, f),\n    updatedby: jspb.Message.getFieldWithDefault(msg, 15, \"0\"),\n    updateduser: (f = msg.getUpdateduser()) && common_pb.User.toObject(includeInstance, f),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.AssistantProviderModel}\n */\nproto.assistant_api.AssistantProviderModel.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.AssistantProviderModel;\n  return proto.assistant_api.AssistantProviderModel.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.AssistantProviderModel} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.AssistantProviderModel}\n */\nproto.assistant_api.AssistantProviderModel.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = new common_pb.TextChatCompletePrompt;\n      reader.readMessage(value,common_pb.TextChatCompletePrompt.deserializeBinaryFromReader);\n      msg.setTemplate(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setModelproviderid(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setModelprovidername(value);\n      break;\n    case 9:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addAssistantmodeloptions(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 13:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setCreatedby(value);\n      break;\n    case 14:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setCreateduser(value);\n      break;\n    case 15:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setUpdatedby(value);\n      break;\n    case 16:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setUpdateduser(value);\n      break;\n    case 17:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 18:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.AssistantProviderModel.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.AssistantProviderModel.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.AssistantProviderModel} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.AssistantProviderModel.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getTemplate();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      common_pb.TextChatCompletePrompt.serializeBinaryToWriter\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getModelproviderid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      6,\n      f\n    );\n  }\n  f = message.getModelprovidername();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getAssistantmodeloptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      9,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n  f = message.getCreatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      13,\n      f\n    );\n  }\n  f = message.getCreateduser();\n  if (f != null) {\n    writer.writeMessage(\n      14,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      15,\n      f\n    );\n  }\n  f = message.getUpdateduser();\n  if (f != null) {\n    writer.writeMessage(\n      16,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      17,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      18,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.AssistantProviderModel.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n */\nproto.assistant_api.AssistantProviderModel.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional TextChatCompletePrompt template = 2;\n * @return {?proto.TextChatCompletePrompt}\n */\nproto.assistant_api.AssistantProviderModel.prototype.getTemplate = function() {\n  return /** @type{?proto.TextChatCompletePrompt} */ (\n    jspb.Message.getWrapperField(this, common_pb.TextChatCompletePrompt, 2));\n};\n\n\n/**\n * @param {?proto.TextChatCompletePrompt|undefined} value\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n*/\nproto.assistant_api.AssistantProviderModel.prototype.setTemplate = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n */\nproto.assistant_api.AssistantProviderModel.prototype.clearTemplate = function() {\n  return this.setTemplate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantProviderModel.prototype.hasTemplate = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.assistant_api.AssistantProviderModel.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n */\nproto.assistant_api.AssistantProviderModel.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional uint64 modelProviderId = 6;\n * @return {string}\n */\nproto.assistant_api.AssistantProviderModel.prototype.getModelproviderid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n */\nproto.assistant_api.AssistantProviderModel.prototype.setModelproviderid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 6, value);\n};\n\n\n/**\n * optional string modelProviderName = 7;\n * @return {string}\n */\nproto.assistant_api.AssistantProviderModel.prototype.getModelprovidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n */\nproto.assistant_api.AssistantProviderModel.prototype.setModelprovidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * repeated Metadata assistantModelOptions = 9;\n * @return {!Array<!proto.Metadata>}\n */\nproto.assistant_api.AssistantProviderModel.prototype.getAssistantmodeloptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 9));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n*/\nproto.assistant_api.AssistantProviderModel.prototype.setAssistantmodeloptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 9, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.assistant_api.AssistantProviderModel.prototype.addAssistantmodeloptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 9, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n */\nproto.assistant_api.AssistantProviderModel.prototype.clearAssistantmodeloptionsList = function() {\n  return this.setAssistantmodeloptionsList([]);\n};\n\n\n/**\n * optional string status = 12;\n * @return {string}\n */\nproto.assistant_api.AssistantProviderModel.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n */\nproto.assistant_api.AssistantProviderModel.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional uint64 createdBy = 13;\n * @return {string}\n */\nproto.assistant_api.AssistantProviderModel.prototype.getCreatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n */\nproto.assistant_api.AssistantProviderModel.prototype.setCreatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 13, value);\n};\n\n\n/**\n * optional User createdUser = 14;\n * @return {?proto.User}\n */\nproto.assistant_api.AssistantProviderModel.prototype.getCreateduser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 14));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n*/\nproto.assistant_api.AssistantProviderModel.prototype.setCreateduser = function(value) {\n  return jspb.Message.setWrapperField(this, 14, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n */\nproto.assistant_api.AssistantProviderModel.prototype.clearCreateduser = function() {\n  return this.setCreateduser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantProviderModel.prototype.hasCreateduser = function() {\n  return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * optional uint64 updatedBy = 15;\n * @return {string}\n */\nproto.assistant_api.AssistantProviderModel.prototype.getUpdatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n */\nproto.assistant_api.AssistantProviderModel.prototype.setUpdatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 15, value);\n};\n\n\n/**\n * optional User updatedUser = 16;\n * @return {?proto.User}\n */\nproto.assistant_api.AssistantProviderModel.prototype.getUpdateduser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 16));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n*/\nproto.assistant_api.AssistantProviderModel.prototype.setUpdateduser = function(value) {\n  return jspb.Message.setWrapperField(this, 16, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n */\nproto.assistant_api.AssistantProviderModel.prototype.clearUpdateduser = function() {\n  return this.setUpdateduser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantProviderModel.prototype.hasUpdateduser = function() {\n  return jspb.Message.getField(this, 16) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 17;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantProviderModel.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 17));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n*/\nproto.assistant_api.AssistantProviderModel.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 17, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n */\nproto.assistant_api.AssistantProviderModel.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantProviderModel.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 17) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 18;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.assistant_api.AssistantProviderModel.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 18));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n*/\nproto.assistant_api.AssistantProviderModel.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 18, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.AssistantProviderModel} returns this\n */\nproto.assistant_api.AssistantProviderModel.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.AssistantProviderModel.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 18) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.CreateAssistantRequest.repeatedFields_ = [2,3,9];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.CreateAssistantRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.CreateAssistantRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.CreateAssistantRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistantprovidermodel: (f = msg.getAssistantprovidermodel()) && proto.assistant_api.CreateAssistantProviderModelRequest.toObject(includeInstance, f),\n    assistantknowledgesList: jspb.Message.toObjectList(msg.getAssistantknowledgesList(),\n    assistant$knowledge_pb.CreateAssistantKnowledgeRequest.toObject, includeInstance),\n    assistanttoolsList: jspb.Message.toObjectList(msg.getAssistanttoolsList(),\n    assistant$tool_pb.CreateAssistantToolRequest.toObject, includeInstance),\n    description: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    visibility: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    language: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    source: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    sourceidentifier: jspb.Message.getFieldWithDefault(msg, 8, \"0\"),\n    tagsList: (f = jspb.Message.getRepeatedField(msg, 9)) == null ? undefined : f,\n    name: jspb.Message.getFieldWithDefault(msg, 10, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.CreateAssistantRequest}\n */\nproto.assistant_api.CreateAssistantRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.CreateAssistantRequest;\n  return proto.assistant_api.CreateAssistantRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.CreateAssistantRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.CreateAssistantRequest}\n */\nproto.assistant_api.CreateAssistantRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.assistant_api.CreateAssistantProviderModelRequest;\n      reader.readMessage(value,proto.assistant_api.CreateAssistantProviderModelRequest.deserializeBinaryFromReader);\n      msg.setAssistantprovidermodel(value);\n      break;\n    case 2:\n      var value = new assistant$knowledge_pb.CreateAssistantKnowledgeRequest;\n      reader.readMessage(value,assistant$knowledge_pb.CreateAssistantKnowledgeRequest.deserializeBinaryFromReader);\n      msg.addAssistantknowledges(value);\n      break;\n    case 3:\n      var value = new assistant$tool_pb.CreateAssistantToolRequest;\n      reader.readMessage(value,assistant$tool_pb.CreateAssistantToolRequest.deserializeBinaryFromReader);\n      msg.addAssistanttools(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVisibility(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLanguage(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setSource(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setSourceidentifier(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addTags(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.CreateAssistantRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.CreateAssistantRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.CreateAssistantRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistantprovidermodel();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.assistant_api.CreateAssistantProviderModelRequest.serializeBinaryToWriter\n    );\n  }\n  f = message.getAssistantknowledgesList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      assistant$knowledge_pb.CreateAssistantKnowledgeRequest.serializeBinaryToWriter\n    );\n  }\n  f = message.getAssistanttoolsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      assistant$tool_pb.CreateAssistantToolRequest.serializeBinaryToWriter\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getVisibility();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getLanguage();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getSource();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getSourceidentifier();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      8,\n      f\n    );\n  }\n  f = message.getTagsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      9,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      10,\n      f\n    );\n  }\n};\n\n\n/**\n * optional CreateAssistantProviderModelRequest assistantProviderModel = 1;\n * @return {?proto.assistant_api.CreateAssistantProviderModelRequest}\n */\nproto.assistant_api.CreateAssistantRequest.prototype.getAssistantprovidermodel = function() {\n  return /** @type{?proto.assistant_api.CreateAssistantProviderModelRequest} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.CreateAssistantProviderModelRequest, 1));\n};\n\n\n/**\n * @param {?proto.assistant_api.CreateAssistantProviderModelRequest|undefined} value\n * @return {!proto.assistant_api.CreateAssistantRequest} returns this\n*/\nproto.assistant_api.CreateAssistantRequest.prototype.setAssistantprovidermodel = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.CreateAssistantRequest} returns this\n */\nproto.assistant_api.CreateAssistantRequest.prototype.clearAssistantprovidermodel = function() {\n  return this.setAssistantprovidermodel(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.CreateAssistantRequest.prototype.hasAssistantprovidermodel = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated CreateAssistantKnowledgeRequest assistantKnowledges = 2;\n * @return {!Array<!proto.assistant_api.CreateAssistantKnowledgeRequest>}\n */\nproto.assistant_api.CreateAssistantRequest.prototype.getAssistantknowledgesList = function() {\n  return /** @type{!Array<!proto.assistant_api.CreateAssistantKnowledgeRequest>} */ (\n    jspb.Message.getRepeatedWrapperField(this, assistant$knowledge_pb.CreateAssistantKnowledgeRequest, 2));\n};\n\n\n/**\n * @param {!Array<!proto.assistant_api.CreateAssistantKnowledgeRequest>} value\n * @return {!proto.assistant_api.CreateAssistantRequest} returns this\n*/\nproto.assistant_api.CreateAssistantRequest.prototype.setAssistantknowledgesList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.assistant_api.CreateAssistantKnowledgeRequest=} opt_value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.CreateAssistantKnowledgeRequest}\n */\nproto.assistant_api.CreateAssistantRequest.prototype.addAssistantknowledges = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.assistant_api.CreateAssistantKnowledgeRequest, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.CreateAssistantRequest} returns this\n */\nproto.assistant_api.CreateAssistantRequest.prototype.clearAssistantknowledgesList = function() {\n  return this.setAssistantknowledgesList([]);\n};\n\n\n/**\n * repeated CreateAssistantToolRequest assistantTools = 3;\n * @return {!Array<!proto.assistant_api.CreateAssistantToolRequest>}\n */\nproto.assistant_api.CreateAssistantRequest.prototype.getAssistanttoolsList = function() {\n  return /** @type{!Array<!proto.assistant_api.CreateAssistantToolRequest>} */ (\n    jspb.Message.getRepeatedWrapperField(this, assistant$tool_pb.CreateAssistantToolRequest, 3));\n};\n\n\n/**\n * @param {!Array<!proto.assistant_api.CreateAssistantToolRequest>} value\n * @return {!proto.assistant_api.CreateAssistantRequest} returns this\n*/\nproto.assistant_api.CreateAssistantRequest.prototype.setAssistanttoolsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.assistant_api.CreateAssistantToolRequest=} opt_value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.CreateAssistantToolRequest}\n */\nproto.assistant_api.CreateAssistantRequest.prototype.addAssistanttools = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.assistant_api.CreateAssistantToolRequest, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.CreateAssistantRequest} returns this\n */\nproto.assistant_api.CreateAssistantRequest.prototype.clearAssistanttoolsList = function() {\n  return this.setAssistanttoolsList([]);\n};\n\n\n/**\n * optional string description = 4;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantRequest.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantRequest} returns this\n */\nproto.assistant_api.CreateAssistantRequest.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string visibility = 5;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantRequest.prototype.getVisibility = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantRequest} returns this\n */\nproto.assistant_api.CreateAssistantRequest.prototype.setVisibility = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string language = 6;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantRequest.prototype.getLanguage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantRequest} returns this\n */\nproto.assistant_api.CreateAssistantRequest.prototype.setLanguage = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string source = 7;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantRequest.prototype.getSource = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantRequest} returns this\n */\nproto.assistant_api.CreateAssistantRequest.prototype.setSource = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional uint64 sourceIdentifier = 8;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantRequest.prototype.getSourceidentifier = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantRequest} returns this\n */\nproto.assistant_api.CreateAssistantRequest.prototype.setSourceidentifier = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 8, value);\n};\n\n\n/**\n * repeated string tags = 9;\n * @return {!Array<string>}\n */\nproto.assistant_api.CreateAssistantRequest.prototype.getTagsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 9));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.assistant_api.CreateAssistantRequest} returns this\n */\nproto.assistant_api.CreateAssistantRequest.prototype.setTagsList = function(value) {\n  return jspb.Message.setField(this, 9, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.CreateAssistantRequest} returns this\n */\nproto.assistant_api.CreateAssistantRequest.prototype.addTags = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 9, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.CreateAssistantRequest} returns this\n */\nproto.assistant_api.CreateAssistantRequest.prototype.clearTagsList = function() {\n  return this.setTagsList([]);\n};\n\n\n/**\n * optional string name = 10;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantRequest} returns this\n */\nproto.assistant_api.CreateAssistantRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.repeatedFields_ = [8];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.CreateAssistantProviderModelRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.CreateAssistantProviderModelRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistantid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    description: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    template: (f = msg.getTemplate()) && common_pb.TextChatCompletePrompt.toObject(includeInstance, f),\n    modelproviderid: jspb.Message.getFieldWithDefault(msg, 6, \"0\"),\n    modelprovidername: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    assistantmodeloptionsList: jspb.Message.toObjectList(msg.getAssistantmodeloptionsList(),\n    common_pb.Metadata.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.CreateAssistantProviderModelRequest}\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.CreateAssistantProviderModelRequest;\n  return proto.assistant_api.CreateAssistantProviderModelRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.CreateAssistantProviderModelRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.CreateAssistantProviderModelRequest}\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 3:\n      var value = new common_pb.TextChatCompletePrompt;\n      reader.readMessage(value,common_pb.TextChatCompletePrompt.deserializeBinaryFromReader);\n      msg.setTemplate(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setModelproviderid(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setModelprovidername(value);\n      break;\n    case 8:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addAssistantmodeloptions(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.CreateAssistantProviderModelRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.CreateAssistantProviderModelRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getTemplate();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.TextChatCompletePrompt.serializeBinaryToWriter\n    );\n  }\n  f = message.getModelproviderid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      6,\n      f\n    );\n  }\n  f = message.getModelprovidername();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getAssistantmodeloptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      8,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 assistantId = 1;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantProviderModelRequest} returns this\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string description = 2;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantProviderModelRequest} returns this\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional TextChatCompletePrompt template = 3;\n * @return {?proto.TextChatCompletePrompt}\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.prototype.getTemplate = function() {\n  return /** @type{?proto.TextChatCompletePrompt} */ (\n    jspb.Message.getWrapperField(this, common_pb.TextChatCompletePrompt, 3));\n};\n\n\n/**\n * @param {?proto.TextChatCompletePrompt|undefined} value\n * @return {!proto.assistant_api.CreateAssistantProviderModelRequest} returns this\n*/\nproto.assistant_api.CreateAssistantProviderModelRequest.prototype.setTemplate = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.CreateAssistantProviderModelRequest} returns this\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.prototype.clearTemplate = function() {\n  return this.setTemplate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.prototype.hasTemplate = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional uint64 modelProviderId = 6;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.prototype.getModelproviderid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantProviderModelRequest} returns this\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.prototype.setModelproviderid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 6, value);\n};\n\n\n/**\n * optional string modelProviderName = 7;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.prototype.getModelprovidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantProviderModelRequest} returns this\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.prototype.setModelprovidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * repeated Metadata assistantModelOptions = 8;\n * @return {!Array<!proto.Metadata>}\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.prototype.getAssistantmodeloptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 8));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.assistant_api.CreateAssistantProviderModelRequest} returns this\n*/\nproto.assistant_api.CreateAssistantProviderModelRequest.prototype.setAssistantmodeloptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 8, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.prototype.addAssistantmodeloptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.CreateAssistantProviderModelRequest} returns this\n */\nproto.assistant_api.CreateAssistantProviderModelRequest.prototype.clearAssistantmodeloptionsList = function() {\n  return this.setAssistantmodeloptionsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAssistantProviderModelResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAssistantProviderModelResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAssistantProviderModelResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantProviderModelResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.assistant_api.AssistantProviderModel.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAssistantProviderModelResponse}\n */\nproto.assistant_api.GetAssistantProviderModelResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAssistantProviderModelResponse;\n  return proto.assistant_api.GetAssistantProviderModelResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAssistantProviderModelResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAssistantProviderModelResponse}\n */\nproto.assistant_api.GetAssistantProviderModelResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.AssistantProviderModel;\n      reader.readMessage(value,proto.assistant_api.AssistantProviderModel.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAssistantProviderModelResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAssistantProviderModelResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAssistantProviderModelResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantProviderModelResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.assistant_api.AssistantProviderModel.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.GetAssistantProviderModelResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.GetAssistantProviderModelResponse} returns this\n */\nproto.assistant_api.GetAssistantProviderModelResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantProviderModelResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.GetAssistantProviderModelResponse} returns this\n */\nproto.assistant_api.GetAssistantProviderModelResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AssistantProviderModel data = 3;\n * @return {?proto.assistant_api.AssistantProviderModel}\n */\nproto.assistant_api.GetAssistantProviderModelResponse.prototype.getData = function() {\n  return /** @type{?proto.assistant_api.AssistantProviderModel} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.AssistantProviderModel, 3));\n};\n\n\n/**\n * @param {?proto.assistant_api.AssistantProviderModel|undefined} value\n * @return {!proto.assistant_api.GetAssistantProviderModelResponse} returns this\n*/\nproto.assistant_api.GetAssistantProviderModelResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAssistantProviderModelResponse} returns this\n */\nproto.assistant_api.GetAssistantProviderModelResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantProviderModelResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.GetAssistantProviderModelResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.GetAssistantProviderModelResponse} returns this\n*/\nproto.assistant_api.GetAssistantProviderModelResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAssistantProviderModelResponse} returns this\n */\nproto.assistant_api.GetAssistantProviderModelResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantProviderModelResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.CreateAssistantTagRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.CreateAssistantTagRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.CreateAssistantTagRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.CreateAssistantTagRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantTagRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistantid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    tagsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.CreateAssistantTagRequest}\n */\nproto.assistant_api.CreateAssistantTagRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.CreateAssistantTagRequest;\n  return proto.assistant_api.CreateAssistantTagRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.CreateAssistantTagRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.CreateAssistantTagRequest}\n */\nproto.assistant_api.CreateAssistantTagRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addTags(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.CreateAssistantTagRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.CreateAssistantTagRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.CreateAssistantTagRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.CreateAssistantTagRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getTagsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 assistantId = 1;\n * @return {string}\n */\nproto.assistant_api.CreateAssistantTagRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.CreateAssistantTagRequest} returns this\n */\nproto.assistant_api.CreateAssistantTagRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * repeated string tags = 2;\n * @return {!Array<string>}\n */\nproto.assistant_api.CreateAssistantTagRequest.prototype.getTagsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.assistant_api.CreateAssistantTagRequest} returns this\n */\nproto.assistant_api.CreateAssistantTagRequest.prototype.setTagsList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.CreateAssistantTagRequest} returns this\n */\nproto.assistant_api.CreateAssistantTagRequest.prototype.addTags = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.CreateAssistantTagRequest} returns this\n */\nproto.assistant_api.CreateAssistantTagRequest.prototype.clearTagsList = function() {\n  return this.setTagsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAssistantRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAssistantRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAssistantRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantprovidermodelid: jspb.Message.getFieldWithDefault(msg, 4, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAssistantRequest}\n */\nproto.assistant_api.GetAssistantRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAssistantRequest;\n  return proto.assistant_api.GetAssistantRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAssistantRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAssistantRequest}\n */\nproto.assistant_api.GetAssistantRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantprovidermodelid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAssistantRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAssistantRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAssistantRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 4));\n  if (f != null) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.GetAssistantRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAssistantRequest} returns this\n */\nproto.assistant_api.GetAssistantRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantProviderModelId = 4;\n * @return {string}\n */\nproto.assistant_api.GetAssistantRequest.prototype.getAssistantprovidermodelid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAssistantRequest} returns this\n */\nproto.assistant_api.GetAssistantRequest.prototype.setAssistantprovidermodelid = function(value) {\n  return jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.assistant_api.GetAssistantRequest} returns this\n */\nproto.assistant_api.GetAssistantRequest.prototype.clearAssistantprovidermodelid = function() {\n  return jspb.Message.setField(this, 4, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantRequest.prototype.hasAssistantprovidermodelid = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.DeleteAssistantRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.DeleteAssistantRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.DeleteAssistantRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.DeleteAssistantRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.DeleteAssistantRequest}\n */\nproto.assistant_api.DeleteAssistantRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.DeleteAssistantRequest;\n  return proto.assistant_api.DeleteAssistantRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.DeleteAssistantRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.DeleteAssistantRequest}\n */\nproto.assistant_api.DeleteAssistantRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.DeleteAssistantRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.DeleteAssistantRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.DeleteAssistantRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.DeleteAssistantRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.assistant_api.DeleteAssistantRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.DeleteAssistantRequest} returns this\n */\nproto.assistant_api.DeleteAssistantRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAssistantResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAssistantResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAssistantResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.assistant_api.Assistant.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAssistantResponse}\n */\nproto.assistant_api.GetAssistantResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAssistantResponse;\n  return proto.assistant_api.GetAssistantResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAssistantResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAssistantResponse}\n */\nproto.assistant_api.GetAssistantResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.Assistant;\n      reader.readMessage(value,proto.assistant_api.Assistant.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAssistantResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAssistantResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAssistantResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.assistant_api.Assistant.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.GetAssistantResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.GetAssistantResponse} returns this\n */\nproto.assistant_api.GetAssistantResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.GetAssistantResponse} returns this\n */\nproto.assistant_api.GetAssistantResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Assistant data = 3;\n * @return {?proto.assistant_api.Assistant}\n */\nproto.assistant_api.GetAssistantResponse.prototype.getData = function() {\n  return /** @type{?proto.assistant_api.Assistant} */ (\n    jspb.Message.getWrapperField(this, proto.assistant_api.Assistant, 3));\n};\n\n\n/**\n * @param {?proto.assistant_api.Assistant|undefined} value\n * @return {!proto.assistant_api.GetAssistantResponse} returns this\n*/\nproto.assistant_api.GetAssistantResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAssistantResponse} returns this\n */\nproto.assistant_api.GetAssistantResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.GetAssistantResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.GetAssistantResponse} returns this\n*/\nproto.assistant_api.GetAssistantResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAssistantResponse} returns this\n */\nproto.assistant_api.GetAssistantResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllAssistantRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllAssistantRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllAssistantRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllAssistantRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllAssistantRequest}\n */\nproto.assistant_api.GetAllAssistantRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllAssistantRequest;\n  return proto.assistant_api.GetAllAssistantRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllAssistantRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllAssistantRequest}\n */\nproto.assistant_api.GetAllAssistantRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllAssistantRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllAssistantRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllAssistantRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.assistant_api.GetAllAssistantRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantRequest} returns this\n */\nproto.assistant_api.GetAllAssistantRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.assistant_api.GetAllAssistantRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.assistant_api.GetAllAssistantRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.assistant_api.GetAllAssistantRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantRequest} returns this\n */\nproto.assistant_api.GetAllAssistantRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllAssistantResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllAssistantResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllAssistantResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllAssistantResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.assistant_api.Assistant.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllAssistantResponse}\n */\nproto.assistant_api.GetAllAssistantResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllAssistantResponse;\n  return proto.assistant_api.GetAllAssistantResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllAssistantResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllAssistantResponse}\n */\nproto.assistant_api.GetAllAssistantResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.Assistant;\n      reader.readMessage(value,proto.assistant_api.Assistant.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllAssistantResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllAssistantResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllAssistantResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.assistant_api.Assistant.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.GetAllAssistantResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.GetAllAssistantResponse} returns this\n */\nproto.assistant_api.GetAllAssistantResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.GetAllAssistantResponse} returns this\n */\nproto.assistant_api.GetAllAssistantResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated Assistant data = 3;\n * @return {!Array<!proto.assistant_api.Assistant>}\n */\nproto.assistant_api.GetAllAssistantResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.assistant_api.Assistant>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.assistant_api.Assistant, 3));\n};\n\n\n/**\n * @param {!Array<!proto.assistant_api.Assistant>} value\n * @return {!proto.assistant_api.GetAllAssistantResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.assistant_api.Assistant=} opt_value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.Assistant}\n */\nproto.assistant_api.GetAllAssistantResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.assistant_api.Assistant, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantResponse} returns this\n */\nproto.assistant_api.GetAllAssistantResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.GetAllAssistantResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantResponse} returns this\n */\nproto.assistant_api.GetAllAssistantResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.assistant_api.GetAllAssistantResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantResponse} returns this\n */\nproto.assistant_api.GetAllAssistantResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllAssistantProviderModelRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllAssistantProviderModelRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllAssistantProviderModelRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllAssistantProviderModelRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantProviderModelRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 5, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllAssistantProviderModelRequest}\n */\nproto.assistant_api.GetAllAssistantProviderModelRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllAssistantProviderModelRequest;\n  return proto.assistant_api.GetAllAssistantProviderModelRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllAssistantProviderModelRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllAssistantProviderModelRequest}\n */\nproto.assistant_api.GetAllAssistantProviderModelRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllAssistantProviderModelRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllAssistantProviderModelRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllAssistantProviderModelRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantProviderModelRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.assistant_api.GetAllAssistantProviderModelRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantProviderModelRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantProviderModelRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantProviderModelRequest} returns this\n */\nproto.assistant_api.GetAllAssistantProviderModelRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantProviderModelRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.assistant_api.GetAllAssistantProviderModelRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.assistant_api.GetAllAssistantProviderModelRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantProviderModelRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.assistant_api.GetAllAssistantProviderModelRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantProviderModelRequest} returns this\n */\nproto.assistant_api.GetAllAssistantProviderModelRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional uint64 assistantId = 5;\n * @return {string}\n */\nproto.assistant_api.GetAllAssistantProviderModelRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAllAssistantProviderModelRequest} returns this\n */\nproto.assistant_api.GetAllAssistantProviderModelRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllAssistantProviderModelResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllAssistantProviderModelResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.assistant_api.AssistantProviderModel.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllAssistantProviderModelResponse}\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllAssistantProviderModelResponse;\n  return proto.assistant_api.GetAllAssistantProviderModelResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllAssistantProviderModelResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllAssistantProviderModelResponse}\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.assistant_api.AssistantProviderModel;\n      reader.readMessage(value,proto.assistant_api.AssistantProviderModel.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllAssistantProviderModelResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllAssistantProviderModelResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.assistant_api.AssistantProviderModel.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.GetAllAssistantProviderModelResponse} returns this\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.GetAllAssistantProviderModelResponse} returns this\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated AssistantProviderModel data = 3;\n * @return {!Array<!proto.assistant_api.AssistantProviderModel>}\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.assistant_api.AssistantProviderModel>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.assistant_api.AssistantProviderModel, 3));\n};\n\n\n/**\n * @param {!Array<!proto.assistant_api.AssistantProviderModel>} value\n * @return {!proto.assistant_api.GetAllAssistantProviderModelResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantProviderModelResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.assistant_api.AssistantProviderModel=} opt_value\n * @param {number=} opt_index\n * @return {!proto.assistant_api.AssistantProviderModel}\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.assistant_api.AssistantProviderModel, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantProviderModelResponse} returns this\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantProviderModelResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantProviderModelResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantProviderModelResponse} returns this\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantProviderModelResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantProviderModelResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantProviderModelResponse} returns this\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantProviderModelResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllAssistantMessageRequest.repeatedFields_ = [2,6];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllAssistantMessageRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllAssistantMessageRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantMessageRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance),\n    assistantid: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    order: (f = msg.getOrder()) && common_pb.Ordering.toObject(includeInstance, f),\n    selectorsList: jspb.Message.toObjectList(msg.getSelectorsList(),\n    common_pb.FieldSelector.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllAssistantMessageRequest}\n */\nproto.assistant_api.GetAllAssistantMessageRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllAssistantMessageRequest;\n  return proto.assistant_api.GetAllAssistantMessageRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllAssistantMessageRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllAssistantMessageRequest}\n */\nproto.assistant_api.GetAllAssistantMessageRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 5:\n      var value = new common_pb.Ordering;\n      reader.readMessage(value,common_pb.Ordering.deserializeBinaryFromReader);\n      msg.setOrder(value);\n      break;\n    case 6:\n      var value = new common_pb.FieldSelector;\n      reader.readMessage(value,common_pb.FieldSelector.deserializeBinaryFromReader);\n      msg.addSelectors(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllAssistantMessageRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllAssistantMessageRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantMessageRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getOrder();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Ordering.serializeBinaryToWriter\n    );\n  }\n  f = message.getSelectorsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      6,\n      f,\n      common_pb.FieldSelector.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantMessageRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantMessageRequest} returns this\n */\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.assistant_api.GetAllAssistantMessageRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantMessageRequest} returns this\n */\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional uint64 assistantId = 3;\n * @return {string}\n */\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAllAssistantMessageRequest} returns this\n */\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional Ordering order = 5;\n * @return {?proto.Ordering}\n */\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.getOrder = function() {\n  return /** @type{?proto.Ordering} */ (\n    jspb.Message.getWrapperField(this, common_pb.Ordering, 5));\n};\n\n\n/**\n * @param {?proto.Ordering|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantMessageRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.setOrder = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantMessageRequest} returns this\n */\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.clearOrder = function() {\n  return this.setOrder(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.hasOrder = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * repeated FieldSelector selectors = 6;\n * @return {!Array<!proto.FieldSelector>}\n */\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.getSelectorsList = function() {\n  return /** @type{!Array<!proto.FieldSelector>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.FieldSelector, 6));\n};\n\n\n/**\n * @param {!Array<!proto.FieldSelector>} value\n * @return {!proto.assistant_api.GetAllAssistantMessageRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.setSelectorsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 6, value);\n};\n\n\n/**\n * @param {!proto.FieldSelector=} opt_value\n * @param {number=} opt_index\n * @return {!proto.FieldSelector}\n */\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.addSelectors = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.FieldSelector, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantMessageRequest} returns this\n */\nproto.assistant_api.GetAllAssistantMessageRequest.prototype.clearSelectorsList = function() {\n  return this.setSelectorsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllAssistantMessageResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllAssistantMessageResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllAssistantMessageResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllAssistantMessageResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantMessageResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    common_pb.AssistantConversationMessage.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllAssistantMessageResponse}\n */\nproto.assistant_api.GetAllAssistantMessageResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllAssistantMessageResponse;\n  return proto.assistant_api.GetAllAssistantMessageResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllAssistantMessageResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllAssistantMessageResponse}\n */\nproto.assistant_api.GetAllAssistantMessageResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.AssistantConversationMessage;\n      reader.readMessage(value,common_pb.AssistantConversationMessage.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllAssistantMessageResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllAssistantMessageResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllAssistantMessageResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantMessageResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.AssistantConversationMessage.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.GetAllAssistantMessageResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.GetAllAssistantMessageResponse} returns this\n */\nproto.assistant_api.GetAllAssistantMessageResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantMessageResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.GetAllAssistantMessageResponse} returns this\n */\nproto.assistant_api.GetAllAssistantMessageResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated AssistantConversationMessage data = 3;\n * @return {!Array<!proto.AssistantConversationMessage>}\n */\nproto.assistant_api.GetAllAssistantMessageResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.AssistantConversationMessage>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.AssistantConversationMessage, 3));\n};\n\n\n/**\n * @param {!Array<!proto.AssistantConversationMessage>} value\n * @return {!proto.assistant_api.GetAllAssistantMessageResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantMessageResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.AssistantConversationMessage=} opt_value\n * @param {number=} opt_index\n * @return {!proto.AssistantConversationMessage}\n */\nproto.assistant_api.GetAllAssistantMessageResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.AssistantConversationMessage, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantMessageResponse} returns this\n */\nproto.assistant_api.GetAllAssistantMessageResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.GetAllAssistantMessageResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantMessageResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantMessageResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantMessageResponse} returns this\n */\nproto.assistant_api.GetAllAssistantMessageResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantMessageResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.assistant_api.GetAllAssistantMessageResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantMessageResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantMessageResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantMessageResponse} returns this\n */\nproto.assistant_api.GetAllAssistantMessageResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantMessageResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllMessageRequest.repeatedFields_ = [2,6];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllMessageRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllMessageRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllMessageRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllMessageRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance),\n    order: (f = msg.getOrder()) && common_pb.Ordering.toObject(includeInstance, f),\n    selectorsList: jspb.Message.toObjectList(msg.getSelectorsList(),\n    common_pb.FieldSelector.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllMessageRequest}\n */\nproto.assistant_api.GetAllMessageRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllMessageRequest;\n  return proto.assistant_api.GetAllMessageRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllMessageRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllMessageRequest}\n */\nproto.assistant_api.GetAllMessageRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 5:\n      var value = new common_pb.Ordering;\n      reader.readMessage(value,common_pb.Ordering.deserializeBinaryFromReader);\n      msg.setOrder(value);\n      break;\n    case 6:\n      var value = new common_pb.FieldSelector;\n      reader.readMessage(value,common_pb.FieldSelector.deserializeBinaryFromReader);\n      msg.addSelectors(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllMessageRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllMessageRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllMessageRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllMessageRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getOrder();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Ordering.serializeBinaryToWriter\n    );\n  }\n  f = message.getSelectorsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      6,\n      f,\n      common_pb.FieldSelector.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.assistant_api.GetAllMessageRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.assistant_api.GetAllMessageRequest} returns this\n*/\nproto.assistant_api.GetAllMessageRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllMessageRequest} returns this\n */\nproto.assistant_api.GetAllMessageRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllMessageRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.assistant_api.GetAllMessageRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.assistant_api.GetAllMessageRequest} returns this\n*/\nproto.assistant_api.GetAllMessageRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.assistant_api.GetAllMessageRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllMessageRequest} returns this\n */\nproto.assistant_api.GetAllMessageRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional Ordering order = 5;\n * @return {?proto.Ordering}\n */\nproto.assistant_api.GetAllMessageRequest.prototype.getOrder = function() {\n  return /** @type{?proto.Ordering} */ (\n    jspb.Message.getWrapperField(this, common_pb.Ordering, 5));\n};\n\n\n/**\n * @param {?proto.Ordering|undefined} value\n * @return {!proto.assistant_api.GetAllMessageRequest} returns this\n*/\nproto.assistant_api.GetAllMessageRequest.prototype.setOrder = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllMessageRequest} returns this\n */\nproto.assistant_api.GetAllMessageRequest.prototype.clearOrder = function() {\n  return this.setOrder(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllMessageRequest.prototype.hasOrder = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * repeated FieldSelector selectors = 6;\n * @return {!Array<!proto.FieldSelector>}\n */\nproto.assistant_api.GetAllMessageRequest.prototype.getSelectorsList = function() {\n  return /** @type{!Array<!proto.FieldSelector>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.FieldSelector, 6));\n};\n\n\n/**\n * @param {!Array<!proto.FieldSelector>} value\n * @return {!proto.assistant_api.GetAllMessageRequest} returns this\n*/\nproto.assistant_api.GetAllMessageRequest.prototype.setSelectorsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 6, value);\n};\n\n\n/**\n * @param {!proto.FieldSelector=} opt_value\n * @param {number=} opt_index\n * @return {!proto.FieldSelector}\n */\nproto.assistant_api.GetAllMessageRequest.prototype.addSelectors = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.FieldSelector, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllMessageRequest} returns this\n */\nproto.assistant_api.GetAllMessageRequest.prototype.clearSelectorsList = function() {\n  return this.setSelectorsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllMessageResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllMessageResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllMessageResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllMessageResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllMessageResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    common_pb.AssistantConversationMessage.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllMessageResponse}\n */\nproto.assistant_api.GetAllMessageResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllMessageResponse;\n  return proto.assistant_api.GetAllMessageResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllMessageResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllMessageResponse}\n */\nproto.assistant_api.GetAllMessageResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.AssistantConversationMessage;\n      reader.readMessage(value,common_pb.AssistantConversationMessage.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllMessageResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllMessageResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllMessageResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllMessageResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.AssistantConversationMessage.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.GetAllMessageResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.GetAllMessageResponse} returns this\n */\nproto.assistant_api.GetAllMessageResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.GetAllMessageResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.GetAllMessageResponse} returns this\n */\nproto.assistant_api.GetAllMessageResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated AssistantConversationMessage data = 3;\n * @return {!Array<!proto.AssistantConversationMessage>}\n */\nproto.assistant_api.GetAllMessageResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.AssistantConversationMessage>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.AssistantConversationMessage, 3));\n};\n\n\n/**\n * @param {!Array<!proto.AssistantConversationMessage>} value\n * @return {!proto.assistant_api.GetAllMessageResponse} returns this\n*/\nproto.assistant_api.GetAllMessageResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.AssistantConversationMessage=} opt_value\n * @param {number=} opt_index\n * @return {!proto.AssistantConversationMessage}\n */\nproto.assistant_api.GetAllMessageResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.AssistantConversationMessage, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllMessageResponse} returns this\n */\nproto.assistant_api.GetAllMessageResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.GetAllMessageResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.GetAllMessageResponse} returns this\n*/\nproto.assistant_api.GetAllMessageResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllMessageResponse} returns this\n */\nproto.assistant_api.GetAllMessageResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllMessageResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.assistant_api.GetAllMessageResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.assistant_api.GetAllMessageResponse} returns this\n*/\nproto.assistant_api.GetAllMessageResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllMessageResponse} returns this\n */\nproto.assistant_api.GetAllMessageResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllMessageResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.UpdateAssistantVersionRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.UpdateAssistantVersionRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.UpdateAssistantVersionRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.UpdateAssistantVersionRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistantid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    assistantprovidermodelid: jspb.Message.getFieldWithDefault(msg, 2, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.UpdateAssistantVersionRequest}\n */\nproto.assistant_api.UpdateAssistantVersionRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.UpdateAssistantVersionRequest;\n  return proto.assistant_api.UpdateAssistantVersionRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.UpdateAssistantVersionRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.UpdateAssistantVersionRequest}\n */\nproto.assistant_api.UpdateAssistantVersionRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantprovidermodelid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.UpdateAssistantVersionRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.UpdateAssistantVersionRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.UpdateAssistantVersionRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.UpdateAssistantVersionRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAssistantprovidermodelid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 assistantId = 1;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantVersionRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantVersionRequest} returns this\n */\nproto.assistant_api.UpdateAssistantVersionRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 assistantProviderModelId = 2;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantVersionRequest.prototype.getAssistantprovidermodelid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantVersionRequest} returns this\n */\nproto.assistant_api.UpdateAssistantVersionRequest.prototype.setAssistantprovidermodelid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.UpdateAssistantDetailRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.UpdateAssistantDetailRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.UpdateAssistantDetailRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.UpdateAssistantDetailRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistantid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.UpdateAssistantDetailRequest}\n */\nproto.assistant_api.UpdateAssistantDetailRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.UpdateAssistantDetailRequest;\n  return proto.assistant_api.UpdateAssistantDetailRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.UpdateAssistantDetailRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.UpdateAssistantDetailRequest}\n */\nproto.assistant_api.UpdateAssistantDetailRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.UpdateAssistantDetailRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.UpdateAssistantDetailRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.UpdateAssistantDetailRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.UpdateAssistantDetailRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 assistantId = 1;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantDetailRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantDetailRequest} returns this\n */\nproto.assistant_api.UpdateAssistantDetailRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantDetailRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantDetailRequest} returns this\n */\nproto.assistant_api.UpdateAssistantDetailRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.assistant_api.UpdateAssistantDetailRequest.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.UpdateAssistantDetailRequest} returns this\n */\nproto.assistant_api.UpdateAssistantDetailRequest.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllAssistantUserConversationRequest.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllAssistantUserConversationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllAssistantUserConversationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllAssistantUserConversationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantUserConversationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistantid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance),\n    source: jspb.Message.getFieldWithDefault(msg, 7, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllAssistantUserConversationRequest}\n */\nproto.assistant_api.GetAllAssistantUserConversationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllAssistantUserConversationRequest;\n  return proto.assistant_api.GetAllAssistantUserConversationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllAssistantUserConversationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllAssistantUserConversationRequest}\n */\nproto.assistant_api.GetAllAssistantUserConversationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 2:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 3:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 7:\n      var value = /** @type {!proto.Source} */ (reader.readEnum());\n      msg.setSource(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllAssistantUserConversationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllAssistantUserConversationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllAssistantUserConversationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantUserConversationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getSource();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      7,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 assistantId = 1;\n * @return {string}\n */\nproto.assistant_api.GetAllAssistantUserConversationRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAllAssistantUserConversationRequest} returns this\n */\nproto.assistant_api.GetAllAssistantUserConversationRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional Paginate paginate = 2;\n * @return {?proto.Paginate}\n */\nproto.assistant_api.GetAllAssistantUserConversationRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 2));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantUserConversationRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantUserConversationRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantUserConversationRequest} returns this\n */\nproto.assistant_api.GetAllAssistantUserConversationRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantUserConversationRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 3;\n * @return {!Array<!proto.Criteria>}\n */\nproto.assistant_api.GetAllAssistantUserConversationRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 3));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.assistant_api.GetAllAssistantUserConversationRequest} returns this\n*/\nproto.assistant_api.GetAllAssistantUserConversationRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.assistant_api.GetAllAssistantUserConversationRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantUserConversationRequest} returns this\n */\nproto.assistant_api.GetAllAssistantUserConversationRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional Source source = 7;\n * @return {!proto.Source}\n */\nproto.assistant_api.GetAllAssistantUserConversationRequest.prototype.getSource = function() {\n  return /** @type {!proto.Source} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {!proto.Source} value\n * @return {!proto.assistant_api.GetAllAssistantUserConversationRequest} returns this\n */\nproto.assistant_api.GetAllAssistantUserConversationRequest.prototype.setSource = function(value) {\n  return jspb.Message.setProto3EnumField(this, 7, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAllAssistantUserConversationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAllAssistantUserConversationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    common_pb.AssistantConversation.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAllAssistantUserConversationResponse}\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAllAssistantUserConversationResponse;\n  return proto.assistant_api.GetAllAssistantUserConversationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAllAssistantUserConversationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAllAssistantUserConversationResponse}\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.AssistantConversation;\n      reader.readMessage(value,common_pb.AssistantConversation.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAllAssistantUserConversationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAllAssistantUserConversationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.AssistantConversation.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.GetAllAssistantUserConversationResponse} returns this\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.GetAllAssistantUserConversationResponse} returns this\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated AssistantConversation data = 3;\n * @return {!Array<!proto.AssistantConversation>}\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.AssistantConversation>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.AssistantConversation, 3));\n};\n\n\n/**\n * @param {!Array<!proto.AssistantConversation>} value\n * @return {!proto.assistant_api.GetAllAssistantUserConversationResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantUserConversationResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.AssistantConversation=} opt_value\n * @param {number=} opt_index\n * @return {!proto.AssistantConversation}\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.AssistantConversation, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAllAssistantUserConversationResponse} returns this\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantUserConversationResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantUserConversationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantUserConversationResponse} returns this\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.assistant_api.GetAllAssistantUserConversationResponse} returns this\n*/\nproto.assistant_api.GetAllAssistantUserConversationResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAllAssistantUserConversationResponse} returns this\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAllAssistantUserConversationResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.assistant_api.GetAssistantConversationRequest.repeatedFields_ = [4,5];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAssistantConversationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAssistantConversationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAssistantConversationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantConversationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    assistantid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    conversationid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance),\n    selectorsList: jspb.Message.toObjectList(msg.getSelectorsList(),\n    common_pb.FieldSelector.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAssistantConversationRequest}\n */\nproto.assistant_api.GetAssistantConversationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAssistantConversationRequest;\n  return proto.assistant_api.GetAssistantConversationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAssistantConversationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAssistantConversationRequest}\n */\nproto.assistant_api.GetAssistantConversationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setAssistantid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setConversationid(value);\n      break;\n    case 3:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 4:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 5:\n      var value = new common_pb.FieldSelector;\n      reader.readMessage(value,common_pb.FieldSelector.deserializeBinaryFromReader);\n      msg.addSelectors(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAssistantConversationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAssistantConversationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAssistantConversationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantConversationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getAssistantid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getConversationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getSelectorsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      5,\n      f,\n      common_pb.FieldSelector.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 assistantId = 1;\n * @return {string}\n */\nproto.assistant_api.GetAssistantConversationRequest.prototype.getAssistantid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAssistantConversationRequest} returns this\n */\nproto.assistant_api.GetAssistantConversationRequest.prototype.setAssistantid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 conversationId = 2;\n * @return {string}\n */\nproto.assistant_api.GetAssistantConversationRequest.prototype.getConversationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.assistant_api.GetAssistantConversationRequest} returns this\n */\nproto.assistant_api.GetAssistantConversationRequest.prototype.setConversationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional Paginate paginate = 3;\n * @return {?proto.Paginate}\n */\nproto.assistant_api.GetAssistantConversationRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 3));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.assistant_api.GetAssistantConversationRequest} returns this\n*/\nproto.assistant_api.GetAssistantConversationRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAssistantConversationRequest} returns this\n */\nproto.assistant_api.GetAssistantConversationRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantConversationRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 4;\n * @return {!Array<!proto.Criteria>}\n */\nproto.assistant_api.GetAssistantConversationRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 4));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.assistant_api.GetAssistantConversationRequest} returns this\n*/\nproto.assistant_api.GetAssistantConversationRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.assistant_api.GetAssistantConversationRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAssistantConversationRequest} returns this\n */\nproto.assistant_api.GetAssistantConversationRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * repeated FieldSelector selectors = 5;\n * @return {!Array<!proto.FieldSelector>}\n */\nproto.assistant_api.GetAssistantConversationRequest.prototype.getSelectorsList = function() {\n  return /** @type{!Array<!proto.FieldSelector>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.FieldSelector, 5));\n};\n\n\n/**\n * @param {!Array<!proto.FieldSelector>} value\n * @return {!proto.assistant_api.GetAssistantConversationRequest} returns this\n*/\nproto.assistant_api.GetAssistantConversationRequest.prototype.setSelectorsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 5, value);\n};\n\n\n/**\n * @param {!proto.FieldSelector=} opt_value\n * @param {number=} opt_index\n * @return {!proto.FieldSelector}\n */\nproto.assistant_api.GetAssistantConversationRequest.prototype.addSelectors = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.FieldSelector, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.assistant_api.GetAssistantConversationRequest} returns this\n */\nproto.assistant_api.GetAssistantConversationRequest.prototype.clearSelectorsList = function() {\n  return this.setSelectorsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.assistant_api.GetAssistantConversationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.assistant_api.GetAssistantConversationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.assistant_api.GetAssistantConversationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantConversationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && common_pb.AssistantConversation.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.assistant_api.GetAssistantConversationResponse}\n */\nproto.assistant_api.GetAssistantConversationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.assistant_api.GetAssistantConversationResponse;\n  return proto.assistant_api.GetAssistantConversationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.assistant_api.GetAssistantConversationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.assistant_api.GetAssistantConversationResponse}\n */\nproto.assistant_api.GetAssistantConversationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.AssistantConversation;\n      reader.readMessage(value,common_pb.AssistantConversation.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.assistant_api.GetAssistantConversationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.assistant_api.GetAssistantConversationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.assistant_api.GetAssistantConversationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.assistant_api.GetAssistantConversationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.AssistantConversation.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.assistant_api.GetAssistantConversationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.assistant_api.GetAssistantConversationResponse} returns this\n */\nproto.assistant_api.GetAssistantConversationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantConversationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.assistant_api.GetAssistantConversationResponse} returns this\n */\nproto.assistant_api.GetAssistantConversationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AssistantConversation data = 3;\n * @return {?proto.AssistantConversation}\n */\nproto.assistant_api.GetAssistantConversationResponse.prototype.getData = function() {\n  return /** @type{?proto.AssistantConversation} */ (\n    jspb.Message.getWrapperField(this, common_pb.AssistantConversation, 3));\n};\n\n\n/**\n * @param {?proto.AssistantConversation|undefined} value\n * @return {!proto.assistant_api.GetAssistantConversationResponse} returns this\n*/\nproto.assistant_api.GetAssistantConversationResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAssistantConversationResponse} returns this\n */\nproto.assistant_api.GetAssistantConversationResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantConversationResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.assistant_api.GetAssistantConversationResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.assistant_api.GetAssistantConversationResponse} returns this\n*/\nproto.assistant_api.GetAssistantConversationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAssistantConversationResponse} returns this\n */\nproto.assistant_api.GetAssistantConversationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantConversationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.assistant_api.GetAssistantConversationResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.assistant_api.GetAssistantConversationResponse} returns this\n*/\nproto.assistant_api.GetAssistantConversationResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.assistant_api.GetAssistantConversationResponse} returns this\n */\nproto.assistant_api.GetAssistantConversationResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.assistant_api.GetAssistantConversationResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\ngoog.object.extend(exports, proto.assistant_api);\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { Content } from \"@/rapida/clients/protos/common_pb\";\n\nexport enum ResponseContentType {\n  TEXT_CONTENT = \"text\",\n  AUDIO_CONTENT = \"audio\",\n  IMAGE_CONTENT = \"image\",\n  MULTI_MEDIA_CONTENT = \"multi\",\n}\n\n// Get returns the string value of the RapidaEnvironment\nexport function getResponseContentType(env: ResponseContentType): string {\n  return env;\n}\n\n// FromStr returns the corresponding RapidaEnvironment for a given string,\n// or DEVELOPMENT if the string does not match any environment.\nexport function fromStr(label: string): ResponseContentType {\n  switch (label.toLowerCase()) {\n    case ResponseContentType.TEXT_CONTENT:\n      return ResponseContentType.TEXT_CONTENT;\n    case ResponseContentType.AUDIO_CONTENT:\n      return ResponseContentType.AUDIO_CONTENT;\n    case ResponseContentType.IMAGE_CONTENT:\n      return ResponseContentType.IMAGE_CONTENT;\n    case ResponseContentType.MULTI_MEDIA_CONTENT:\n      return ResponseContentType.MULTI_MEDIA_CONTENT;\n    default:\n      console.warn(\n        \"The content type is not supported. Only text, audio, image, multi\"\n      );\n      return ResponseContentType.TEXT_CONTENT;\n  }\n}\n\ntype ResponseContentFormat = \"raw\" | \"word\" | \"url\" | \"chunk\";\n\nexport const TEXT_CONTENT_FORMAT_RAW: ResponseContentFormat = \"raw\";\nexport const TEXT_CONTENT_FORMAT_WORD: ResponseContentFormat = \"word\";\n\nexport const AUDIO_CONTENT_FORMAT_RAW: ResponseContentFormat = \"raw\";\nexport const AUDIO_CONTENT_FORMAT_CHUNK: ResponseContentFormat = \"chunk\";\nexport const AUDIO_CONTENT_FORMAT_URL: ResponseContentFormat = \"url\";\n\nexport const IMAGE_CONTENT_FORMAT_RAW: ResponseContentFormat = \"raw\";\nexport const IMAGE_CONTENT_FORMAT_URL: ResponseContentFormat = \"url\";\n\nexport const MULTI_MEDIA_CONTENT_FORMAT_RAW: ResponseContentFormat = \"raw\";\nexport const MULTI_MEDIA_CONTENT_FORMAT_URL: ResponseContentFormat = \"url\";\n\n/**\n *\n * @param str\n * @returns\n */\nexport const toTextContent = (\n  str: string,\n  format?: ResponseContentFormat\n): Content => {\n  const cnt = new Content();\n  if (format) cnt.setContentformat(format);\n  else cnt.setContentformat(TEXT_CONTENT_FORMAT_RAW);\n  cnt.setContenttype(ResponseContentType.TEXT_CONTENT);\n  cnt.setContent(new TextEncoder().encode(str));\n  return cnt;\n};\n\nexport const toStreamAudioContent = (raw: Uint8Array | string): Content => {\n  const cnt = new Content();\n  cnt.setContentformat(AUDIO_CONTENT_FORMAT_CHUNK);\n  cnt.setContenttype(ResponseContentType.AUDIO_CONTENT);\n  cnt.setContent(raw);\n  return cnt;\n};\n\nexport const toContentText = (cnt?: Content[]): string => {\n  if (!cnt) return \"\";\n\n  return cnt\n    .filter((x) => x.getContenttype() === \"text\")\n    .map((x) => {\n      try {\n        return new TextDecoder().decode(x.getContent() as Uint8Array);\n      } catch (error) {\n        return \"\";\n      }\n    })\n    .join(\" \");\n};\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\n\nimport { Feedback } from \"./feedback\";\n\n/**\n *\n */\nexport enum MessageRole {\n  // text channel for input and output\n  System = \"system\",\n\n  // audio channel for input and output\n  User = \"user\",\n}\n\n/**\n *\n */\nexport enum MessageStatus {\n  /**\n   * Pending status for the message\n   */\n  Pending = \"pending\",\n\n  /**\n   * complete the message\n   */\n  Complete = \"complete\",\n}\n\n/**\n *\n */\nexport interface Message {\n  /**\n   * id of the message\n   */\n  id: string;\n\n  /**\n   * role of the message who had sent it\n   */\n  role: MessageRole;\n\n  /**\n   * list of sentences in the message\n   */\n  messages: string[];\n\n  /**\n   * feedback given to the message\n   */\n  feedback?: Feedback;\n\n  /**\n   *time\n   */\n  time: Date;\n\n  /**\n   *\n   */\n  status: MessageStatus;\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nexport enum Channel {\n  // text channel for input and output\n  Text = \"text\",\n\n  // audio channel for input and output\n  Audio = \"audio\",\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nexport enum ConnectionState {\n  // when connection is disconnect or at initial state\n  Disconnected = \"disconnected\",\n\n  // connected voice agent state\n  Connected = \"connected\",\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\n\nexport const HEADER_AUTH_ID = 'x-auth-id';\nexport const HEADER_PROJECT_ID = 'x-project-id';\n\nexport const HEADER_API_KEY = 'x-api-key';\nexport const HEADER_SOURCE_KEY = 'x-client-source';\nexport const HEADER_ENVIRONMENT_KEY = 'x-rapida-environment';\nexport const HEADER_REGION_KEY = 'x-rapida-region';\n\nexport const HEADER_USER_AGENT = 'x-user-agent';\nexport const HEADER_LANGUAGE = 'x-language';\nexport const HEADER_PLATFORM = 'x-platform';\nexport const HEADER_SCREEN_WIDTH = 'x-screen-width';\nexport const HEADER_SCREEN_HEIGHT = 'x-screen-height';\nexport const HEADER_WINDOW_WIDTH = 'x-window-width';\nexport const HEADER_WINDOW_HEIGHT = 'x-window-height';\nexport const HEADER_TIMEZONE = 'x-timezone';\nexport const HEADER_COLOR_DEPTH = 'x-color-depth';\nexport const HEADER_DEVICE_MEMORY = 'x-device-memory';\nexport const HEADER_HARDWARE_CONCURRENCY = 'x-hardware-concurrency';\nexport const HEADER_CONNECTION_TYPE = 'x-connection-type';\nexport const HEADER_CONNECTION_EFFECTIVE_TYPE = 'x-connection-effective-type';\nexport const HEADER_COOKIES_ENABLED = 'x-cookies-enabled';\nexport const HEADER_DO_NOT_TRACK = 'x-do-not-track';\nexport const HEADER_REFERRER = 'x-referrer';\nexport const HEADER_REMOTE_URL = 'x-remote-url';\nexport const HEADER_LATITUDE = 'x-latitude';\nexport const HEADER_LONGITUDE = 'x-longitude';\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  Utility functions for working with gRPC metadata in Rapida applications.\n */\n\nimport {\n  HEADER_SOURCE_KEY,\n  HEADER_REGION_KEY,\n  HEADER_API_KEY,\n  HEADER_AUTH_ID,\n  HEADER_PROJECT_ID,\n  HEADER_USER_AGENT,\n  HEADER_LANGUAGE,\n  HEADER_PLATFORM,\n  HEADER_SCREEN_WIDTH,\n  HEADER_SCREEN_HEIGHT,\n  HEADER_WINDOW_WIDTH,\n  HEADER_WINDOW_HEIGHT,\n  HEADER_TIMEZONE,\n  HEADER_COLOR_DEPTH,\n  HEADER_DEVICE_MEMORY,\n  HEADER_HARDWARE_CONCURRENCY,\n  HEADER_CONNECTION_TYPE,\n  HEADER_CONNECTION_EFFECTIVE_TYPE,\n  HEADER_COOKIES_ENABLED,\n  HEADER_DO_NOT_TRACK,\n  HEADER_REFERRER,\n  HEADER_REMOTE_URL,\n  HEADER_LATITUDE,\n  HEADER_LONGITUDE,\n} from \"@/rapida/utils/rapida_header\";\nimport { grpc } from \"@improbable-eng/grpc-web\";\nimport { ALL_REGION } from \"@/rapida/utils/rapida_region\";\nimport { RapidaSource } from \"@/rapida/utils/rapida_source\";\n\n/**\n * Configures gRPC metadata with platform-specific and environment-specific headers.\n *\n * @param il - The gRPC metadata to configure.\n * @returns The configured gRPC metadata.\n */\nexport const WithPlatform = (il: grpc.Metadata): grpc.Metadata => {\n  // Set the source header based on the platform\n  // Set the region header to 'all' by default\n  il.set(HEADER_REGION_KEY, ALL_REGION);\n\n  return il;\n};\n\n/**\n * Configures gRPC metadata with authentication context headers.\n *\n * @param authHeader - A record of authentication headers to add.\n * @returns The configured gRPC metadata with authentication headers.\n */\nexport const WithAuthContext = (\n  authHeader?: ClientAuthInfo | UserAuthInfo\n): grpc.Metadata => {\n  const metadata = WithClientContext(WithPlatform(new grpc.Metadata()));\n  if (authHeader) {\n    for (const [key, value] of Object.entries(authHeader)) {\n      if (key === \"Client\") {\n        // Handle nested Client object\n        for (const [clientKey, clientValue] of Object.entries(value)) {\n          metadata.set(clientKey, clientValue as string);\n        }\n      } else {\n        metadata.set(key, value);\n      }\n    }\n  }\n  return metadata;\n};\n/**\n * an client information that will help to create an authentication token and header informatioan\n */\nexport interface UserAuthInfo {\n  authorization: string;\n  [HEADER_AUTH_ID]: string;\n  [HEADER_PROJECT_ID]?: string;\n  Client?: Partial<ClientInfo>;\n}\n\nexport interface ClientAuthInfo {\n  [HEADER_API_KEY]: string;\n  [HEADER_AUTH_ID]?: string;\n  Client?: Partial<ClientInfo>;\n}\n\ninterface ClientInfo {\n  [HEADER_SOURCE_KEY]?: RapidaSource;\n  [HEADER_USER_AGENT]: string;\n  [HEADER_LANGUAGE]: string;\n  [HEADER_PLATFORM]: string;\n  [HEADER_SCREEN_WIDTH]: number;\n  [HEADER_SCREEN_HEIGHT]: number;\n  [HEADER_WINDOW_WIDTH]: number;\n  [HEADER_WINDOW_HEIGHT]: number;\n  [HEADER_TIMEZONE]: string;\n  [HEADER_COLOR_DEPTH]: number;\n  [HEADER_DEVICE_MEMORY]?: number;\n  [HEADER_HARDWARE_CONCURRENCY]?: number;\n  [HEADER_CONNECTION_TYPE]?: string;\n  [HEADER_CONNECTION_EFFECTIVE_TYPE]?: string;\n  [HEADER_COOKIES_ENABLED]: boolean;\n  [HEADER_DO_NOT_TRACK]?: string | null;\n  [HEADER_REFERRER]: string;\n  [HEADER_REMOTE_URL]: string;\n  [HEADER_LATITUDE]?: number;\n  [HEADER_LONGITUDE]?: number;\n}\n/**\n * Retrieves client information from the browser.\n *\n * This function gathers various details about the client's device and browser,\n * including screen dimensions, user agent, language, platform, and more.\n * It also attempts to get the geolocation if available and permitted.\n *\n * @returns {ClientInfo} A promise that resolves to an object containing client information.\n */\nexport const getClientInfo = (\n  additionalInfo: Partial<ClientInfo> = {}\n): ClientInfo => {\n  const screen_width = window.screen.width;\n  const screen_height = window.screen.height;\n\n  const baseInfo: ClientInfo = {\n    [HEADER_USER_AGENT]: navigator.userAgent,\n    [HEADER_LANGUAGE]: navigator.language,\n    [HEADER_PLATFORM]:\n      (navigator as any)?.userAgentData?.platform || navigator?.platform,\n    [HEADER_SCREEN_WIDTH]: screen_width,\n    [HEADER_SCREEN_HEIGHT]: screen_height,\n    [HEADER_WINDOW_WIDTH]: window.innerWidth,\n    [HEADER_WINDOW_HEIGHT]: window.innerHeight,\n    [HEADER_TIMEZONE]: Intl.DateTimeFormat().resolvedOptions().timeZone,\n    [HEADER_COLOR_DEPTH]: window.screen.colorDepth,\n    [HEADER_DEVICE_MEMORY]: (navigator as any).deviceMemory,\n    [HEADER_HARDWARE_CONCURRENCY]: navigator.hardwareConcurrency,\n    [HEADER_CONNECTION_TYPE]: (navigator as any).connection?.type,\n    [HEADER_CONNECTION_EFFECTIVE_TYPE]: (navigator as any).connection\n      ?.effectiveType,\n    [HEADER_COOKIES_ENABLED]: navigator.cookieEnabled,\n    [HEADER_DO_NOT_TRACK]: navigator.doNotTrack,\n    [HEADER_REFERRER]: document.referrer,\n    [HEADER_REMOTE_URL]: window.location.href,\n    ...additionalInfo,\n  };\n\n  return baseInfo;\n};\n\n/**\n * Enhances gRPC metadata with client context information.\n *\n * This function takes an optional gRPC metadata object and enriches it\n * with client information obtained from getClientInfo(). It iterates\n * through the client info and sets each non-undefined value in the\n * metadata object.\n *\n * @param {grpc.Metadata} metadata - Optional gRPC metadata object to enhance.\n * @returns {grpc.Metadata} The enhanced metadata object with client context.\n */\nexport const WithClientContext = (\n  metadata: grpc.Metadata = new grpc.Metadata()\n): grpc.Metadata => {\n  const clientInfo = getClientInfo();\n\n  for (const [key, value] of Object.entries(clientInfo)) {\n    if (value !== undefined) {\n      metadata.set(key, String(value));\n    }\n  }\n  return metadata;\n};\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\n\nexport type RapidaRegion = 'ap' | 'us' | 'eu' | 'all';\n\nexport const AP_REGION: RapidaRegion = 'ap';\nexport const US_REGION: RapidaRegion = 'us';\nexport const EU_REGION: RapidaRegion = 'eu';\nexport const ALL_REGION: RapidaRegion = 'all';\n\n// Get returns the string value of the RapidaRegion\nexport function getRapidaRegionValue(region: RapidaRegion): string {\n  return region;\n}\n\n// FromStr returns the corresponding RapidaRegion for a given string,\n// or 'all' if the string does not match any region.\nexport function fromStr(label: string): RapidaRegion {\n  switch (label.toLowerCase()) {\n    case 'ap':\n      return AP_REGION;\n    case 'us':\n      return US_REGION;\n    case 'eu':\n      return EU_REGION;\n    case 'all':\n      return ALL_REGION;\n    default:\n      console.warn(\n        \"The region is not supported. Supported regions are 'ap', 'us', 'eu', and 'all'.\",\n      );\n      return ALL_REGION;\n  }\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for managing projects through the ProjectService.\n */\nimport {\n  GetAllConversationMessageRequest,\n  GetAllConversationMessageResponse,\n  GetAllAssistantConversationResponse,\n  GetAllAssistantConversationRequest,\n  Metric,\n} from \"@/rapida/clients/protos/common_pb\";\nimport {\n  ClientAuthInfo,\n  UserAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { BidirectionalStream, ServiceError } from \"@/rapida/clients/types\";\nimport { Criteria, Paginate } from \"@/rapida/clients/protos/common_pb\";\nimport { TalkServiceClient } from \"@/rapida/clients/protos/talk-api_pb_service\";\nimport {\n  CreateConversationMetricResponse,\n  CreateConversationMetricRequest,\n  AssistantMessagingRequest,\n  AssistantMessagingResponse,\n} from \"./protos/talk-api_pb\";\nimport {\n  CreateMessageMetricResponse,\n  CreateMessageMetricRequest,\n} from \"./protos/talk-api_pb\";\nimport { ConnectionConfig } from \"@/rapida/connections/connection-config\";\n\n/**\n *\n * @param authHeader\n * @returns\n */\nexport function AssistantTalk(\n  conversationStreamClient: TalkServiceClient,\n  authHeader: UserAuthInfo | ClientAuthInfo\n): BidirectionalStream<AssistantMessagingRequest, AssistantMessagingResponse> {\n  return conversationStreamClient.assistantTalk(WithAuthContext(authHeader));\n}\n\n/**\n *\n * @param conversationClient\n * @param assistantId\n * @param assistantConversationId\n * @param assistantConversationMessageId\n * @param cb\n * @param authHeader\n */\nexport function CreateMessageMetric(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  assistantConversationId: string,\n  messageId: string,\n  metrics: { name: string; value: string; description: string }[],\n  cb: (\n    err: ServiceError | null,\n    uvcr: CreateMessageMetricResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new CreateMessageMetricRequest();\n  req.setAssistantid(assistantId);\n  req.setAssistantconversationid(assistantConversationId);\n  req.setMessageid(messageId);\n  for (var mtr of metrics) {\n    const _m = new Metric();\n    _m.setName(mtr.name);\n    _m.setValue(mtr.value);\n    _m.setDescription(mtr.description);\n    req.addMetrics(_m);\n  }\n  connectionConfig.conversationClient.createMessageMetric(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param conversationClient\n * @param assistantId\n * @param assistantConversationId\n * @param metrics\n * @param cb\n * @param authHeader\n */\nexport function CreateConversationMetric(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  assistantConversationId: string,\n  metrics: { name: string; value: string; description: string }[],\n  cb: (\n    err: ServiceError | null,\n    uvcr: CreateConversationMetricResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new CreateConversationMetricRequest();\n  req.setAssistantid(assistantId);\n  req.setAssistantconversationid(assistantConversationId);\n  for (var mtr of metrics) {\n    const _m = new Metric();\n    _m.setName(mtr.name);\n    _m.setValue(mtr.value);\n    _m.setDescription(mtr.description);\n    req.addMetrics(_m);\n  }\n  connectionConfig.conversationClient.createConversationMetric(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param page\n * @param pageSize\n * @param criteria\n * @param cb\n * @param authHeader\n */\nexport function GetAllAssistantConversation(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  cb: (\n    err: ServiceError | null,\n    uvcr: GetAllAssistantConversationResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllAssistantConversationRequest();\n  req.setAssistantid(assistantId);\n  const paginate = new Paginate();\n  criteria.forEach((x) => {\n    let ctr = new Criteria();\n    ctr.setKey(x.key);\n    ctr.setValue(x.value);\n    req.addCriterias(ctr);\n  });\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n  connectionConfig.conversationClient.getAllAssistantConversation(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param assistantConversationId\n * @param page\n * @param pageSize\n * @param criteria\n * @param cb\n * @param authHeader\n */\nexport function GetAllAssistantConversationMessage(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  assistantConversationId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    uvcr: GetAllConversationMessageResponse | null\n  ) => void\n) {\n  const req = new GetAllConversationMessageRequest();\n  req.setAssistantid(assistantId);\n  req.setAssistantconversationid(assistantConversationId);\n  const paginate = new Paginate();\n  criteria.forEach((x) => {\n    let ctr = new Criteria();\n    ctr.setKey(x.key);\n    ctr.setValue(x.value);\n    req.addCriterias(ctr);\n  });\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n  connectionConfig.conversationClient.getAllConversationMessage(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nexport enum Feedback {\n  // text channel for input and output\n  Helpful = \"helpful\",\n\n  // audio channel for input and output\n  NotHelpful = \"not_helpful\",\n\n  // other\n  Other = \"other\",\n}\n\nexport function getFeedback(input?: string): Feedback {\n  switch (input?.toLowerCase()) {\n    case \"helpful\":\n      return Feedback.Helpful;\n    case \"not helpful\":\n    case \"not_helpful\":\n      return Feedback.NotHelpful;\n    default:\n      return Feedback.Other;\n  }\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for managing assistants using gRPC. It includes\n *  operations for creating, updating, retrieving, and personalizing assistants,\n *  as well as handling assistant provider models and tags.\n */\n\nimport {\n  Content,\n  Criteria,\n  FieldSelector,\n  GetAllAssistantConversationResponse,\n  GetAllConversationMessageRequest,\n  GetAllConversationMessageResponse,\n  Metadata,\n  Ordering,\n  Paginate,\n  TextChatCompletePrompt,\n} from \"@/rapida/clients/protos/common_pb\";\nimport {\n  GetAllAssistantRequest,\n  GetAllAssistantResponse,\n  CreateAssistantRequest,\n  GetAllAssistantProviderModelRequest,\n  UpdateAssistantVersionRequest,\n  GetAssistantRequest,\n  GetAssistantResponse,\n  CreateAssistantTagRequest,\n  CreateAssistantProviderModelRequest,\n  GetAllAssistantProviderModelResponse,\n  UpdateAssistantDetailRequest,\n  GetAllAssistantMessageRequest,\n  GetAllAssistantMessageResponse,\n  GetAssistantConversationResponse,\n  GetAssistantConversationRequest,\n  DeleteAssistantRequest,\n  GetAssistantProviderModelResponse,\n  GetAllMessageRequest,\n  GetAllMessageResponse,\n} from \"@/rapida/clients/protos/assistant-api_pb\";\n\nimport {\n  GetAssistantAnalysisResponse,\n  GetAssistantAnalysisRequest,\n  UpdateAssistantAnalysisRequest,\n  CreateAssistantAnalysisRequest,\n  GetAllAssistantAnalysisResponse,\n  GetAllAssistantAnalysisRequest,\n  DeleteAssistantAnalysisRequest,\n} from \"@/rapida/clients/protos/assistant-analysis_pb\";\n\nimport {\n  GetAssistantToolResponse,\n  GetAssistantToolRequest,\n  UpdateAssistantToolRequest,\n  CreateAssistantToolRequest,\n  GetAllAssistantToolResponse,\n  GetAllAssistantToolRequest,\n  DeleteAssistantToolRequest,\n} from \"@/rapida/clients/protos/assistant-tool_pb\";\n\nimport {\n  GetAssistantKnowledgeResponse,\n  GetAssistantKnowledgeRequest,\n  UpdateAssistantKnowledgeRequest,\n  CreateAssistantKnowledgeRequest,\n  GetAllAssistantKnowledgeResponse,\n  GetAllAssistantKnowledgeRequest,\n  DeleteAssistantKnowledgeRequest,\n} from \"@/rapida/clients/protos/assistant-knowledge_pb\";\n\nimport {\n  DeleteAssistantWebhookRequest,\n  GetAssistantWebhookLogRequest,\n  GetAllAssistantWebhookLogRequest,\n  GetAssistantWebhookLogResponse,\n  GetAssistantWebhookResponse,\n  CreateAssistantWebhookRequest,\n  UpdateAssistantWebhookRequest,\n  GetAllAssistantWebhookLogResponse,\n  GetAssistantWebhookRequest,\n  GetAllAssistantWebhookRequest,\n  GetAllAssistantWebhookResponse,\n} from \"@/rapida/clients/protos/assistant-webhook_pb\";\nimport { AssistantServiceClient } from \"@/rapida/clients/protos/assistant-api_pb_service\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { GetAllAssistantConversationRequest } from \"@/rapida/clients/protos/common_pb\";\nimport { AssistantDeploymentServiceClient } from \"@/rapida/clients/protos/assistant-deployment_pb_service\";\nimport {\n  AssistantDeploymentCapturer,\n  AssistantPhoneDeployment,\n} from \"@/rapida/clients/protos/assistant-deployment_pb\";\nimport {\n  AssistantDebuggerDeployment,\n  CreateAssistantApiDeploymentRequest,\n  AssistantApiDeploymentResponse,\n  CreateAssistantDebuggerDeploymentRequest,\n  CreateAssistantPhoneDeploymentRequest,\n  AssistantPhoneDeploymentResponse,\n  AssistantWebpluginDeploymentResponse,\n  CreateAssistantWhatsappDeploymentRequest,\n  GetAssistantDeploymentRequest,\n} from \"@/rapida/clients/protos/assistant-deployment_pb\";\nimport {\n  DeploymentAudioProvider,\n  AssistantWebpluginDeployment,\n} from \"@/rapida/clients/protos/assistant-deployment_pb\";\nimport {\n  AssistantWhatsappDeploymentResponse,\n  AssistantWhatsappDeployment,\n} from \"./protos/assistant-deployment_pb\";\nimport {\n  AssistantDebuggerDeploymentResponse,\n  CreateAssistantWebpluginDeploymentRequest,\n} from \"@/rapida/clients/protos/assistant-deployment_pb\";\nimport { Struct } from \"google-protobuf/google/protobuf/struct_pb\";\nimport { ConnectionConfig } from \"@/rapida/connections/connection-config\";\n\n/**\n * Retrieve all assistants with pagination and filtering criteria.\n *\n * @param page - The page number for pagination.\n * @param pageSize - The number of assistants per page.\n * @param criteria - List of criteria to filter assistants.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetAllAssistant(\n  connectionConfig: ConnectionConfig,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllAssistantResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllAssistantRequest();\n  const paginate = new Paginate();\n\n  criteria.forEach(({ key, value }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return connectionConfig.assistantClient.getAllAssistant(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Update the version of an assistant.\n *\n * @param assistantId - The ID of the assistant to update.\n * @param assistantProviderModelId - The ID of the assistant provider model.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function UpdateAssistantVersion(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  assistantProviderModelId: string,\n  cb: (err: ServiceError | null, response: GetAssistantResponse | null) => void,\n  authHeader: UserAuthInfo\n) {\n  const req = new UpdateAssistantVersionRequest();\n  req.setAssistantid(assistantId);\n  req.setAssistantprovidermodelid(assistantProviderModelId);\n\n  return connectionConfig.assistantClient.updateAssistantVersion(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieve all assistant provider models with pagination and filtering criteria.\n *\n * @param assistantId - The ID of the assistant.\n * @param page - The page number for pagination.\n * @param pageSize - The number of provider models per page.\n * @param criteria - List of criteria to filter provider models.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetAllAssistantProviderModel(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllAssistantProviderModelResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllAssistantProviderModelRequest();\n  req.setAssistantid(assistantId);\n\n  const paginate = new Paginate();\n  criteria.forEach(({ key, value }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return connectionConfig.assistantClient.getAllAssistantProviderModel(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieve details of a specific assistant.\n *\n * @param assistantId - The ID of the assistant to retrieve.\n * @param assistantProviderModelId - Optional ID of the assistant provider model.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetAssistant(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  assistantProviderModelId: string | null,\n  cb: (err: ServiceError | null, response: GetAssistantResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAssistantRequest();\n  req.setId(assistantId);\n  if (assistantProviderModelId) {\n    req.setAssistantprovidermodelid(assistantProviderModelId);\n  }\n  return connectionConfig.assistantClient.getAssistant(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Create a new assistant provider model.\n *\n * @param assistantId - The ID of the assistant.\n * @param assistantProviderModel - Attributes for the new provider model.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function CreateAssistantProviderModel(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  template: TextChatCompletePrompt,\n  modelProviderId: string,\n  modelProviderName: string,\n  modelProviderOptions: Array<Metadata>,\n  description: string,\n  authHeader: UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantProviderModelResponse | null\n  ) => void\n) {\n  const req = new CreateAssistantProviderModelRequest();\n  req.setAssistantid(assistantId);\n  req.setDescription(description);\n  req.setAssistantmodeloptionsList(modelProviderOptions);\n  req.setModelproviderid(modelProviderId);\n  req.setTemplate(template);\n  req.setModelprovidername(modelProviderName);\n  return connectionConfig.assistantClient.createAssistantProviderModel(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Create a new assistant with the specified attributes.\n *\n * @param assistantProviderModel - Attributes for the assistant provider model.\n * @param assistantAttributes - Attributes for the assistant.\n * @param assistantKnowledgeConfig - Knowledge configuration attributes for the assistant.\n * @param tags - Tags associated with the assistant.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function CreateAssistant(\n  connectionConfig: ConnectionConfig,\n  name: string,\n  description: string,\n  tagsList: Array<string>,\n  assistantProviderModel: CreateAssistantProviderModelRequest,\n  tags: string[],\n  authHeader: UserAuthInfo,\n  cb: (err: ServiceError | null, response: GetAssistantResponse | null) => void,\n  assistantKnowledgeConfig?: Array<CreateAssistantKnowledgeRequest>,\n  assistantToolConfig?: Array<CreateAssistantToolRequest>\n) {\n  const req = new CreateAssistantRequest();\n  req.setName(name);\n  req.setDescription(description);\n  req.setTagsList(tagsList);\n  req.setAssistantprovidermodel(assistantProviderModel);\n  if (assistantKnowledgeConfig)\n    req.setAssistantknowledgesList(assistantKnowledgeConfig);\n  if (assistantToolConfig) req.setAssistanttoolsList(assistantToolConfig);\n\n  req.setTagsList(tags);\n  return connectionConfig.assistantClient.createAssistant(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Create tags for an assistant.\n *\n * @param assistantId - The ID of the assistant.\n * @param tags - List of tags to add.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function CreateAssistantTag(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  tags: string[],\n  cb: (err: ServiceError | null, response: GetAssistantResponse | null) => void,\n  authHeader: UserAuthInfo\n) {\n  const req = new CreateAssistantTagRequest();\n  req.setTagsList(tags);\n  req.setAssistantid(assistantId);\n\n  return connectionConfig.assistantClient.createAssistantTag(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Update details of an existing assistant.\n *\n * @param assistantId - The ID of the assistant to update.\n * @param name - The new name for the assistant.\n * @param description - The new description for the assistant.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function UpdateAssistantDetail(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  name: string,\n  description: string,\n  cb: (err: ServiceError | null, response: GetAssistantResponse | null) => void,\n  authHeader: UserAuthInfo\n) {\n  const req = new UpdateAssistantDetailRequest();\n  req.setName(name);\n  req.setDescription(description);\n  req.setAssistantid(assistantId);\n\n  return connectionConfig.assistantClient.updateAssistantDetail(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param page\n * @param pageSize\n * @param criteria\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetAssistantMessages(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string; logic: string }[],\n  selectors: (\"metadata\" | \"metric\" | \"stage\" | \"request\" | \"response\")[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllAssistantMessageResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllAssistantMessageRequest();\n  const paginate = new Paginate();\n\n  criteria.forEach(({ key, value, logic }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    ctr.setLogic(logic);\n    req.addCriterias(ctr);\n  });\n\n  req.setAssistantid(assistantId);\n\n  selectors.forEach((v) => {\n    const selectors = new FieldSelector();\n    selectors.setField(v);\n    req.addSelectors(selectors);\n  });\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  const order = new Ordering();\n  order.setColumn(\"created_date\");\n  order.setOrder(\"desc\");\n  req.setOrder(order);\n  req.setPaginate(paginate);\n  return connectionConfig.assistantClient.getAllAssistantMessage(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param page\n * @param pageSize\n * @param criteria\n * @param selectors\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetMessages(\n  connectionConfig: ConnectionConfig,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string; logic: string }[],\n  selectors: (\"metadata\" | \"metric\" | \"stage\" | \"request\" | \"response\")[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllMessageResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllMessageRequest();\n  const paginate = new Paginate();\n\n  criteria.forEach(({ key, value, logic }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    ctr.setLogic(logic);\n    req.addCriterias(ctr);\n  });\n\n  selectors.forEach((v) => {\n    const selectors = new FieldSelector();\n    selectors.setField(v);\n    req.addSelectors(selectors);\n  });\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  const order = new Ordering();\n  order.setColumn(\"created_date\");\n  order.setOrder(\"desc\");\n  req.setOrder(order);\n  req.setPaginate(paginate);\n  return connectionConfig.assistantClient.getAllMessage(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieves all assistant sessions based on the provided criteria.\n *\n * @param assistantId - The unique identifier of the assistant.\n * @param page - The page number for pagination.\n * @param pageSize - The number of records per page.\n * @param criteria - An array of key-value pairs to filter the assistant sessions.\n * @param cb - A callback function that will be invoked with the result or error.\n * @param authHeader - The authentication header for the request.\n *\n * @returns {void}\n *\n * @callback cb\n * @param {ServiceError | null} err - The error object if an error occurred, otherwise null.\n * @param {GetAllAssistantConversationResponse | null} uvcr - The response object containing the assistant sessions.\n */\nexport function GetAllAssistantSession(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string; logic: string }[],\n  cb: (\n    err: ServiceError | null,\n    uvcr: GetAllAssistantConversationResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllAssistantConversationRequest();\n  req.setAssistantid(assistantId);\n  const paginate = new Paginate();\n  criteria.forEach((x) => {\n    let ctr = new Criteria();\n    ctr.setKey(x.key);\n    ctr.setValue(x.value);\n    ctr.setLogic(x.logic);\n    req.addCriterias(ctr);\n  });\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n  connectionConfig.assistantClient.getAllAssistantConversation(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param assistantConversationId\n * @param page\n * @param pageSize\n * @param criteria\n * @param cb\n * @param authHeader\n */\nexport function GetAllAssistantConversationMessage(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  assistantConversationId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    uvcr: GetAllConversationMessageResponse | null\n  ) => void\n) {\n  const req = new GetAllConversationMessageRequest();\n  req.setAssistantid(assistantId);\n  req.setAssistantconversationid(assistantConversationId);\n  const paginate = new Paginate();\n  criteria.forEach((x) => {\n    let ctr = new Criteria();\n    ctr.setKey(x.key);\n    ctr.setValue(x.value);\n    req.addCriterias(ctr);\n  });\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n  connectionConfig.assistantClient.getAllConversationMessage(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function CreateAssistantDebuggerDeployment(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  persona: {\n    name?: string;\n    role?: string;\n    tone?: string;\n    expertise?: string;\n  },\n  experience: {\n    greeting: string;\n    messageOnError?: string;\n    messageOnEnd?: string;\n  },\n  cb: (\n    err: ServiceError | null,\n    response: AssistantDebuggerDeploymentResponse | null\n  ) => void,\n  authHeader: UserAuthInfo,\n  inputAudio?: {\n    providerId: string;\n    provider: string;\n    parameters: Metadata[];\n  } | null,\n  outputAudio?: {\n    providerId: string;\n    provider: string;\n    parameters: Metadata[];\n  } | null,\n  audioStorageConfig?: {\n    providerId: string;\n    provider: string;\n    parameters: Metadata[];\n  } | null,\n  textStorageConfig?: {\n    providerId: string;\n    provider: string;\n    parameters: Metadata[];\n  } | null\n) {\n  const req = new CreateAssistantDebuggerDeploymentRequest();\n  const deployment = new AssistantDebuggerDeployment();\n\n  deployment.setAssistantid(assistantId);\n  deployment.setName(persona.name || \"\");\n  deployment.setRole(persona.role || \"\");\n  deployment.setTone(persona.tone || \"\");\n  deployment.setExperties(persona.expertise || \"\");\n  deployment.setGreeting(experience.greeting);\n  if (experience?.messageOnError)\n    deployment.setMistake(experience?.messageOnError);\n  if (experience?.messageOnEnd) deployment.setEnding(experience?.messageOnEnd);\n\n  if (inputAudio) {\n    const inputAudioProvider = new DeploymentAudioProvider();\n    inputAudioProvider.setId(inputAudio.providerId);\n    inputAudioProvider.setAudioprovider(inputAudio.provider);\n    inputAudioProvider.setAudiooptionsList(inputAudio.parameters);\n    inputAudioProvider.setAudioproviderid(inputAudio.providerId);\n    deployment.setInputaudio(inputAudioProvider);\n  }\n\n  if (outputAudio) {\n    const outputAudioProvider = new DeploymentAudioProvider();\n    outputAudioProvider.setId(outputAudio.providerId);\n    outputAudioProvider.setAudioprovider(outputAudio.provider);\n    outputAudioProvider.setAudiooptionsList(outputAudio.parameters);\n    outputAudioProvider.setAudioproviderid(outputAudio.providerId);\n    deployment.setOutputaudio(outputAudioProvider);\n  }\n\n  if (audioStorageConfig) {\n    const audioCapturer = new AssistantDeploymentCapturer();\n    audioCapturer.setCapturerprovider(audioStorageConfig.provider);\n    audioCapturer.setCapturerproviderid(audioStorageConfig.providerId);\n    audioCapturer.setCaptureroptionsList(audioStorageConfig.parameters);\n    audioCapturer.setCapturertype(\"audio\");\n    deployment.addCapturers(audioCapturer);\n  }\n\n  if (textStorageConfig) {\n    const textCapturer = new AssistantDeploymentCapturer();\n    textCapturer.setCapturerprovider(textStorageConfig.provider);\n    textCapturer.setCapturerproviderid(textStorageConfig.providerId);\n    textCapturer.setCaptureroptionsList(textStorageConfig.parameters);\n    textCapturer.setCapturertype(\"text\");\n    deployment.addCapturers(textCapturer);\n  }\n\n  req.setDeployment(deployment);\n  return connectionConfig.assistantDeploymentClient.createAssistantDebuggerDeployment(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetAssistantDebuggerDeployment(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  cb: (\n    err: ServiceError | null,\n    response: AssistantDebuggerDeploymentResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAssistantDeploymentRequest();\n  req.setAssistantid(assistantId);\n  return connectionConfig.assistantDeploymentClient.getAssistantDebuggerDeployment(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function CreateAssistantApiDeployment(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  persona: {\n    name?: string;\n    role?: string;\n    tone?: string;\n    expertise?: string;\n  },\n  experience: {\n    greeting: string;\n    messageOnError?: string;\n    messageOnEnd?: string;\n  },\n  cb: (\n    err: ServiceError | null,\n    response: AssistantApiDeploymentResponse | null\n  ) => void,\n  authHeader: UserAuthInfo,\n  inputAudio?: {\n    providerId: string;\n    provider: string;\n    parameters: Metadata[];\n  } | null,\n  outputAudio?: {\n    providerId: string;\n    provider: string;\n    parameters: Metadata[];\n  } | null,\n  audioStorageConfig?: {\n    providerId: string;\n    provider: string;\n    parameters: Metadata[];\n  } | null,\n  textStorageConfig?: {\n    providerId: string;\n    provider: string;\n    parameters: Metadata[];\n  } | null\n) {\n  const req = new CreateAssistantApiDeploymentRequest();\n  const deployment = new AssistantDebuggerDeployment();\n  deployment.setAssistantid(assistantId);\n  deployment.setName(persona.name || \"\");\n  deployment.setRole(persona.role || \"\");\n  deployment.setTone(persona.tone || \"\");\n  deployment.setExperties(persona.expertise || \"\");\n  deployment.setGreeting(experience.greeting);\n  if (experience?.messageOnError)\n    deployment.setMistake(experience?.messageOnError);\n  if (experience?.messageOnEnd) deployment.setEnding(experience?.messageOnEnd);\n\n  if (inputAudio) {\n    const inputAudioProvider = new DeploymentAudioProvider();\n    inputAudioProvider.setId(inputAudio.providerId);\n    inputAudioProvider.setAudioprovider(inputAudio.provider);\n    inputAudioProvider.setAudiooptionsList(inputAudio.parameters);\n    inputAudioProvider.setAudioproviderid(inputAudio.providerId);\n    deployment.setInputaudio(inputAudioProvider);\n  }\n\n  if (outputAudio) {\n    const outputAudioProvider = new DeploymentAudioProvider();\n    outputAudioProvider.setId(outputAudio.providerId);\n    outputAudioProvider.setAudioprovider(outputAudio.provider);\n    outputAudioProvider.setAudiooptionsList(outputAudio.parameters);\n    outputAudioProvider.setAudioproviderid(outputAudio.providerId);\n    deployment.setOutputaudio(outputAudioProvider);\n  }\n\n  if (audioStorageConfig) {\n    const audioCapturer = new AssistantDeploymentCapturer();\n    audioCapturer.setCapturerprovider(audioStorageConfig.provider);\n    audioCapturer.setCapturerproviderid(audioStorageConfig.providerId);\n    audioCapturer.setCaptureroptionsList(audioStorageConfig.parameters);\n    audioCapturer.setCapturertype(\"audio\");\n    deployment.addCapturers(audioCapturer);\n  }\n\n  if (textStorageConfig) {\n    const textCapturer = new AssistantDeploymentCapturer();\n    textCapturer.setCapturerprovider(textStorageConfig.provider);\n    textCapturer.setCapturerproviderid(textStorageConfig.providerId);\n    textCapturer.setCaptureroptionsList(textStorageConfig.parameters);\n    textCapturer.setCapturertype(\"text\");\n    deployment.addCapturers(textCapturer);\n  }\n\n  req.setDeployment(deployment);\n  return connectionConfig.assistantDeploymentClient.createAssistantApiDeployment(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\nexport function GetAssistantApiDeployment(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  cb: (\n    err: ServiceError | null,\n    response: AssistantApiDeploymentResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAssistantDeploymentRequest();\n  req.setAssistantid(assistantId);\n  return connectionConfig.assistantDeploymentClient.getAssistantApiDeployment(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function CreateAssistantWebpluginDeployment(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  persona: {\n    name?: string;\n    role?: string;\n    avatarUrl?: string;\n    avatar?: {\n      file: Uint8Array;\n      type: string;\n      size: number;\n      name: string;\n    };\n    tone?: string;\n    expertise?: string;\n  },\n  experience: {\n    greeting: string;\n    suggestions: string[];\n    messageOnError: string;\n    messageOnEnd: string;\n  },\n  feature: {\n    qAListing: boolean;\n    productCatalog: boolean;\n    blogPost: boolean;\n  },\n  cb: (\n    err: ServiceError | null,\n    response: AssistantWebpluginDeploymentResponse | null\n  ) => void,\n  authHeader: UserAuthInfo,\n  inputAudio?: {\n    providerId: string;\n    provider: string;\n    parameters: Metadata[];\n  } | null,\n  outputAudio?: {\n    providerId: string;\n    provider: string;\n    parameters: Metadata[];\n  } | null,\n  audioStorageConfig?: {\n    providerId: string;\n    provider: string;\n    parameters: Metadata[];\n  } | null,\n  textStorageConfig?: {\n    providerId: string;\n    provider: string;\n    parameters: Metadata[];\n  } | null\n) {\n  const req = new CreateAssistantWebpluginDeploymentRequest();\n  const webDeployment = new AssistantWebpluginDeployment();\n\n  webDeployment.setAssistantid(assistantId);\n  webDeployment.setName(persona.name || \"\");\n  webDeployment.setRole(persona.role || \"\");\n  webDeployment.setTone(persona.tone || \"\");\n  webDeployment.setExperties(persona.expertise || \"\");\n  webDeployment.setGreeting(experience.greeting);\n  webDeployment.setMistake(experience.messageOnError);\n  webDeployment.setEnding(experience.messageOnEnd);\n  webDeployment.setSuggestionList(experience.suggestions);\n  webDeployment.setHelpcenterenabled(feature.qAListing);\n  webDeployment.setProductcatalogenabled(feature.productCatalog);\n  webDeployment.setArticlecatalogenabled(feature.blogPost);\n  webDeployment.setUploadfileenabled(false); // Not provided in the input, set to false by default\n\n  if (inputAudio) {\n    const inputAudioProvider = new DeploymentAudioProvider();\n    inputAudioProvider.setId(inputAudio.providerId);\n    inputAudioProvider.setAudioprovider(inputAudio.provider);\n    inputAudioProvider.setAudiooptionsList(inputAudio.parameters);\n    inputAudioProvider.setAudioproviderid(inputAudio.providerId);\n    webDeployment.setInputaudio(inputAudioProvider);\n  }\n\n  if (outputAudio) {\n    const outputAudioProvider = new DeploymentAudioProvider();\n    outputAudioProvider.setId(outputAudio.providerId);\n    outputAudioProvider.setAudioprovider(outputAudio.provider);\n    outputAudioProvider.setAudiooptionsList(outputAudio.parameters);\n    outputAudioProvider.setAudioproviderid(outputAudio.providerId);\n\n    webDeployment.setOutputaudio(outputAudioProvider);\n  }\n\n  if (persona.avatar && persona.avatar.file) {\n    const cntn = new Content();\n    cntn.setContent(persona.avatar.file);\n    cntn.setName(persona.avatar.name);\n    cntn.setContenttype(persona.avatar.type);\n    webDeployment.setRaw(cntn);\n  } else if (persona.avatarUrl) {\n    webDeployment.setUrl(persona.avatarUrl);\n  }\n\n  if (audioStorageConfig) {\n    const audioCapturer = new AssistantDeploymentCapturer();\n    audioCapturer.setCapturerprovider(audioStorageConfig.provider);\n    audioCapturer.setCapturerproviderid(audioStorageConfig.providerId);\n    audioCapturer.setCaptureroptionsList(audioStorageConfig.parameters);\n    audioCapturer.setCapturertype(\"audio\");\n    webDeployment.addCapturers(audioCapturer);\n  }\n\n  if (textStorageConfig) {\n    const textCapturer = new AssistantDeploymentCapturer();\n    textCapturer.setCapturerprovider(textStorageConfig.provider);\n    textCapturer.setCapturerproviderid(textStorageConfig.providerId);\n    textCapturer.setCaptureroptionsList(textStorageConfig.parameters);\n    textCapturer.setCapturertype(\"text\");\n    webDeployment.addCapturers(textCapturer);\n  }\n\n  req.setDeployment(webDeployment);\n  return connectionConfig.assistantDeploymentClient.createAssistantWebpluginDeployment(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\nexport function GetAssistantWebpluginDeployment(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  cb: (\n    err: ServiceError | null,\n    response: AssistantWebpluginDeploymentResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAssistantDeploymentRequest();\n  req.setAssistantid(assistantId);\n  return connectionConfig.assistantDeploymentClient.getAssistantWebpluginDeployment(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function CreateAssistantPhoneDeployment(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  persona: {\n    name?: string;\n    role?: string;\n    tone?: string;\n    expertise?: string;\n  },\n  experience: {\n    greeting: string;\n    messageOnError: string;\n    messageOnEnd: string;\n  },\n  telephonyConfig: {\n    providerId: string;\n    provider: string;\n    parameters: Metadata[];\n  } | null,\n  cb: (\n    err: ServiceError | null,\n    response: AssistantPhoneDeploymentResponse | null\n  ) => void,\n  authHeader: UserAuthInfo,\n  inputAudio?: {\n    providerId: string;\n    provider: string;\n    parameters: Metadata[];\n  } | null,\n  outputAudio?: {\n    providerId: string;\n    provider: string;\n    parameters: Metadata[];\n  } | null,\n  audioStorageConfig?: {\n    providerId: string;\n    provider: string;\n    parameters: Metadata[];\n  } | null,\n  textStorageConfig?: {\n    providerId: string;\n    provider: string;\n    parameters: Metadata[];\n  } | null\n) {\n  const req = new CreateAssistantPhoneDeploymentRequest();\n  const deployment = new AssistantPhoneDeployment();\n  deployment.setAssistantid(assistantId);\n  deployment.setName(persona.name || \"\");\n  deployment.setRole(persona.role || \"\");\n  deployment.setTone(persona.tone || \"\");\n  deployment.setExperties(persona.expertise || \"\");\n  deployment.setGreeting(experience.greeting);\n  deployment.setMistake(experience.messageOnError);\n  deployment.setEnding(experience.messageOnEnd);\n\n  if (telephonyConfig) {\n    deployment.setPhoneoptionsList(telephonyConfig.parameters);\n    deployment.setPhoneproviderid(telephonyConfig.providerId);\n    deployment.setPhoneprovidername(telephonyConfig.provider);\n  }\n\n  if (inputAudio) {\n    const inputAudioProvider = new DeploymentAudioProvider();\n    inputAudioProvider.setId(inputAudio.providerId);\n    inputAudioProvider.setAudioprovider(inputAudio.provider);\n    inputAudioProvider.setAudiooptionsList(inputAudio.parameters);\n    inputAudioProvider.setAudioproviderid(inputAudio.providerId);\n    deployment.setInputaudio(inputAudioProvider);\n  }\n\n  if (outputAudio) {\n    const outputAudioProvider = new DeploymentAudioProvider();\n    outputAudioProvider.setId(outputAudio.providerId);\n    outputAudioProvider.setAudioprovider(outputAudio.provider);\n    outputAudioProvider.setAudiooptionsList(outputAudio.parameters);\n    outputAudioProvider.setAudioproviderid(outputAudio.providerId);\n    deployment.setOutputaudio(outputAudioProvider);\n  }\n\n  if (audioStorageConfig) {\n    const audioCapturer = new AssistantDeploymentCapturer();\n    audioCapturer.setCapturerprovider(audioStorageConfig.provider);\n    audioCapturer.setCapturerproviderid(audioStorageConfig.providerId);\n    audioCapturer.setCaptureroptionsList(audioStorageConfig.parameters);\n    audioCapturer.setCapturertype(\"audio\");\n    deployment.addCapturers(audioCapturer);\n  }\n\n  if (textStorageConfig) {\n    const textCapturer = new AssistantDeploymentCapturer();\n    textCapturer.setCapturerprovider(textStorageConfig.provider);\n    textCapturer.setCapturerproviderid(textStorageConfig.providerId);\n    textCapturer.setCaptureroptionsList(textStorageConfig.parameters);\n    textCapturer.setCapturertype(\"text\");\n    deployment.addCapturers(textCapturer);\n  }\n\n  req.setDeployment(deployment);\n  return connectionConfig.assistantDeploymentClient.createAssistantPhoneDeployment(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n/**\n *\n * @param assistantId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetAssistantPhoneDeployment(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  cb: (\n    err: ServiceError | null,\n    response: AssistantPhoneDeploymentResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAssistantDeploymentRequest();\n  req.setAssistantid(assistantId);\n  return connectionConfig.assistantDeploymentClient.getAssistantPhoneDeployment(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function CreateAssistantWhatsappDeployment(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  persona: {\n    name?: string;\n    role?: string;\n    tone?: string;\n    expertise?: string;\n  },\n  experience: {\n    greeting: string;\n    messageOnError: string;\n    messageOnEnd: string;\n  },\n  whatsappConfig: {\n    providerId: string;\n    provider: string;\n    parameters: Metadata[];\n  } | null,\n  cb: (\n    err: ServiceError | null,\n    response: AssistantWhatsappDeploymentResponse | null\n  ) => void,\n  authHeader: UserAuthInfo\n) {\n  const req = new CreateAssistantWhatsappDeploymentRequest();\n  const deployment = new AssistantWhatsappDeployment();\n\n  deployment.setAssistantid(assistantId);\n  deployment.setName(persona.name || \"\");\n  deployment.setRole(persona.role || \"\");\n  deployment.setTone(persona.tone || \"\");\n  deployment.setExperties(persona.expertise || \"\");\n  deployment.setGreeting(experience.greeting);\n  deployment.setMistake(experience.messageOnError);\n  deployment.setEnding(experience.messageOnEnd);\n  if (whatsappConfig) {\n    deployment.setWhatsappproviderid(whatsappConfig.providerId);\n    deployment.setWhatsappprovidername(whatsappConfig.provider);\n    deployment.setWhatsappoptionsList(whatsappConfig.parameters);\n  }\n\n  req.setDeployment(deployment);\n  return connectionConfig.assistantDeploymentClient.createAssistantWhatsappDeployment(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetAssistantWhatsappDeployment(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  cb: (\n    err: ServiceError | null,\n    response: AssistantWhatsappDeploymentResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAssistantDeploymentRequest();\n  req.setAssistantid(assistantId);\n  return connectionConfig.assistantDeploymentClient.getAssistantWhatsappDeployment(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\nexport function GetAllAssistantWebhook(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllAssistantWebhookResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllAssistantWebhookRequest();\n  const paginate = new Paginate();\n  criteria.forEach(({ key, value }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  req.setAssistantid(assistantId);\n  return connectionConfig.assistantClient.getAllAssistantWebhook(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param method\n * @param endpoint\n * @param headers\n * @param parameters\n * @param events\n * @param retryOnStatus\n * @param maxRetries\n * @param timeout\n * @param priority\n * @param cb\n * @param authHeader\n * @param description\n * @returns\n */\nexport function CreateWebhook(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  method: string,\n  endpoint: string,\n  headers: { key: string; value: string }[],\n  parameters: { key: string; value: string }[],\n  events: string[],\n  retryOnStatus: string[],\n  maxRetries: number,\n  timeout: number,\n  priority: number,\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantWebhookResponse | null\n  ) => void,\n  authHeader: UserAuthInfo,\n  description?: string\n) {\n  const req = new CreateAssistantWebhookRequest();\n  req.setAssistantid(assistantId);\n  req.setHttpurl(endpoint);\n  req.setHttpmethod(method);\n  req.setAssistanteventsList(events);\n  headers.forEach((k) => {\n    req.getHttpheadersMap().set(k.key, k.value);\n  });\n  parameters.forEach((k) => {\n    req.getHttpbodyMap().set(k.key, k.value);\n  });\n  req.setRetrystatuscodesList(retryOnStatus);\n  req.setMaxretrycount(maxRetries);\n  req.setTimeoutsecond(timeout);\n  req.setExecutionpriority(priority);\n  if (description) req.setDescription(description);\n  return connectionConfig.assistantClient.createAssistantWebhook(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param webhookId\n * @param method\n * @param endpoint\n * @param headers\n * @param events\n * @param retryOnStatus\n * @param maxRetries\n * @param timeout\n * @param cb\n * @param authHeader\n * @param description\n * @returns\n */\nexport function UpdateWebhook(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  webhookId: string,\n  method: string,\n  endpoint: string,\n  headers: { key: string; value: string }[],\n  parameters: { key: string; value: string }[],\n  events: string[],\n  retryOnStatus: string[],\n  maxRetries: number,\n  timeout: number,\n  priority: number,\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantWebhookResponse | null\n  ) => void,\n  authHeader: UserAuthInfo,\n  description?: string\n) {\n  const req = new UpdateAssistantWebhookRequest();\n  req.setId(webhookId);\n  req.setAssistantid(assistantId);\n  req.setHttpurl(endpoint);\n  req.setHttpmethod(method);\n  req.setAssistanteventsList(events);\n  headers.forEach((k) => {\n    req.getHttpheadersMap().set(k.key, k.value);\n  });\n  parameters.forEach((k) => {\n    req.getHttpbodyMap().set(k.key, k.value);\n  });\n  req.setRetrystatuscodesList(retryOnStatus);\n  req.setMaxretrycount(maxRetries);\n  req.setTimeoutsecond(timeout);\n  req.setExecutionpriority(priority);\n  if (description) req.setDescription(description);\n  return connectionConfig.assistantClient.updateAssistantWebhook(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param webhookId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetAssistantWebhook(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  webhookId: string,\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantWebhookResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAssistantWebhookRequest();\n  req.setAssistantid(assistantId);\n  req.setId(webhookId);\n  return connectionConfig.assistantClient.getAssistantWebhook(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param webhookId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function DeleteAssistantWebhook(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  webhookId: string,\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantWebhookResponse | null\n  ) => void,\n  authHeader: UserAuthInfo\n) {\n  const req = new DeleteAssistantWebhookRequest();\n  req.setAssistantid(assistantId);\n  req.setId(webhookId);\n  return connectionConfig.assistantClient.deleteAssistantWebhook(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param webhookId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetAssistantConversation(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  conversaiontId: string,\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantConversationResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAssistantConversationRequest();\n  req.setAssistantid(assistantId);\n  req.setConversationid(conversaiontId);\n  return connectionConfig.assistantClient.getAssistantConversation(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function DeleteAssistant(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  cb: (err: ServiceError | null, response: GetAssistantResponse | null) => void,\n  authHeader: UserAuthInfo\n) {\n  const req = new DeleteAssistantRequest();\n  req.setId(assistantId);\n  return connectionConfig.assistantClient.deleteAssistant(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param page\n * @param pageSize\n * @param criteria\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetAllAssistantAnalysis(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllAssistantAnalysisResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllAssistantAnalysisRequest();\n  req.setAssistantid(assistantId);\n  const paginate = new Paginate();\n\n  criteria.forEach(({ key, value }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return connectionConfig.assistantClient.getAllAssistantAnalysis(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param name\n * @param endpointid\n * @param endpointversion\n * @param executionpriority\n * @param parameters\n * @param cb\n * @param authHeader\n * @param description\n * @returns\n */\nexport function CreateAnalysis(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  name: string,\n  endpointid: string,\n  endpointversion: string,\n  executionpriority: number,\n  parameters: { key: string; value: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantAnalysisResponse | null\n  ) => void,\n  authHeader: UserAuthInfo,\n  description?: string\n) {\n  const req = new CreateAssistantAnalysisRequest();\n  req.setAssistantid(assistantId);\n  req.setEndpointid(endpointid);\n  req.setEndpointversion(endpointversion);\n  req.setName(name);\n  req.setExecutionpriority(executionpriority);\n  parameters.forEach((k) => {\n    req.getEndpointparametersMap().set(k.key, k.value);\n  });\n\n  if (description) req.setDescription(description);\n  return connectionConfig.assistantClient.createAssistantAnalysis(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param webhookId\n * @param method\n * @param endpoint\n * @param headers\n * @param events\n * @param retryOnStatus\n * @param maxRetries\n * @param timeout\n * @param cb\n * @param authHeader\n * @param description\n * @returns\n */\nexport function UpdateAnalysis(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  AnalysisId: string,\n  name: string,\n  endpointid: string,\n  endpointversion: string,\n  executionpriority: number,\n  parameters: { key: string; value: string }[],\n\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantAnalysisResponse | null\n  ) => void,\n  authHeader: UserAuthInfo,\n  description?: string\n) {\n  const req = new UpdateAssistantAnalysisRequest();\n  req.setId(AnalysisId);\n  req.setAssistantid(assistantId);\n  req.setEndpointid(endpointid);\n  req.setEndpointversion(endpointversion);\n  req.setName(name);\n  req.setExecutionpriority(executionpriority);\n  console.dir(parameters);\n  parameters.forEach((k) => {\n    req.getEndpointparametersMap().set(k.key, k.value);\n  });\n  if (description) req.setDescription(description);\n  return connectionConfig.assistantClient.updateAssistantAnalysis(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param webhookId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetAssistantAnalysis(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  AnalysisId: string,\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantAnalysisResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAssistantAnalysisRequest();\n  req.setAssistantid(assistantId);\n  req.setId(AnalysisId);\n  return connectionConfig.assistantClient.getAssistantAnalysis(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param AnalysisId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function DeleteAssistantAnalysis(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  AnalysisId: string,\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantAnalysisResponse | null\n  ) => void,\n  authHeader: UserAuthInfo\n) {\n  const req = new DeleteAssistantAnalysisRequest();\n  req.setAssistantid(assistantId);\n  req.setId(AnalysisId);\n  return connectionConfig.assistantClient.deleteAssistantAnalysis(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param page\n * @param pageSize\n * @param criteria\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetAllWebhookLog(\n  connectionConfig: ConnectionConfig,\n  projectId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string; logic: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllAssistantWebhookLogResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllAssistantWebhookLogRequest();\n  req.setProjectid(projectId);\n  const paginate = new Paginate();\n  criteria.forEach(({ key, value, logic }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    ctr.setLogic(logic);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return connectionConfig.assistantClient.getAllAssistantWebhookLog(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param organizationId\n * @param projectId\n * @param webhookLogId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetWebhookLog(\n  connectionConfig: ConnectionConfig,\n  projectId: string,\n  webhookLogId: string,\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantWebhookLogResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAssistantWebhookLogRequest();\n  req.setProjectid(projectId);\n  req.setId(webhookLogId);\n  return connectionConfig.assistantClient.getAssistantWebhookLog(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param page\n * @param pageSize\n * @param criteria\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetAllAssistantTool(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllAssistantToolResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllAssistantToolRequest();\n  req.setAssistantid(assistantId);\n  const paginate = new Paginate();\n\n  criteria.forEach(({ key, value }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return connectionConfig.assistantClient.getAllAssistantTool(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param name\n * @param endpointid\n * @param endpointversion\n * @param executionpriority\n * @param parameters\n * @param cb\n * @param authHeader\n * @param description\n * @returns\n */\nexport function CreateAssistantTool(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  name: string,\n  description: string,\n  fields: {},\n  executionMethod: string,\n  executionOptions: Metadata[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantToolResponse | null\n  ) => void,\n  authHeader: UserAuthInfo\n) {\n  const req = new CreateAssistantToolRequest();\n  req.setAssistantid(assistantId);\n  req.setName(name);\n  req.setDescription(description);\n  req.setFields(Struct.fromJavaScript(fields));\n  req.setExecutionmethod(executionMethod);\n  executionOptions.forEach((x) => {\n    req.addExecutionoptions(x);\n  });\n  return connectionConfig.assistantClient.createAssistantTool(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param webhookId\n * @param method\n * @param endpoint\n * @param headers\n * @param events\n * @param retryOnStatus\n * @param maxRetries\n * @param timeout\n * @param cb\n * @param authHeader\n * @param description\n * @returns\n */\nexport function UpdateAssistantTool(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  assistantToolId: string,\n  name: string,\n  description: string,\n  fields: {},\n  executionMethod: string,\n  executionOptions: Metadata[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantToolResponse | null\n  ) => void,\n  authHeader: UserAuthInfo\n) {\n  const req = new UpdateAssistantToolRequest();\n  req.setId(assistantToolId);\n  req.setAssistantid(assistantId);\n  req.setAssistantid(assistantId);\n  req.setName(name);\n  req.setDescription(description);\n  req.setFields(Struct.fromJavaScript(fields));\n  req.setExecutionmethod(executionMethod);\n  executionOptions.forEach((x) => {\n    req.addExecutionoptions(x);\n  });\n  return connectionConfig.assistantClient.updateAssistantTool(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param webhookId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetAssistantTool(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  ToolId: string,\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantToolResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAssistantToolRequest();\n  req.setAssistantid(assistantId);\n  req.setId(ToolId);\n  return connectionConfig.assistantClient.getAssistantTool(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param ToolId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function DeleteAssistantTool(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  ToolId: string,\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantToolResponse | null\n  ) => void,\n  authHeader: UserAuthInfo\n) {\n  const req = new DeleteAssistantToolRequest();\n  req.setAssistantid(assistantId);\n  req.setId(ToolId);\n  return connectionConfig.assistantClient.deleteAssistantTool(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param page\n * @param pageSize\n * @param criteria\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetAllAssistantKnowledge(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllAssistantKnowledgeResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllAssistantKnowledgeRequest();\n  req.setAssistantid(assistantId);\n  const paginate = new Paginate();\n\n  criteria.forEach(({ key, value }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return connectionConfig.assistantClient.getAllAssistantKnowledge(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param name\n * @param endpointid\n * @param endpointversion\n * @param executionpriority\n * @param parameters\n * @param cb\n * @param authHeader\n * @param description\n * @returns\n */\nexport function CreateAssistantKnowledge(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  knowledgeId: string,\n  config: {\n    searchMethod: \"semantic\" | \"fullText\" | \"hybrid\" | \"invertedIndex\";\n    rerankingEnable: boolean;\n    rerankerModelProvider?: string;\n    rerankerModelProviderId?: string;\n    rerankerModelOptions?: Metadata[];\n    topK: number;\n    scoreThreshold: number;\n  },\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantKnowledgeResponse | null\n  ) => void,\n  authHeader: UserAuthInfo\n) {\n  const req = new CreateAssistantKnowledgeRequest();\n  req.setKnowledgeid(knowledgeId);\n  req.setAssistantid(assistantId);\n  if (config.rerankingEnable) {\n    req.setRerankerenable(config.rerankingEnable);\n    req.setRerankermodelproviderid(config.rerankerModelProviderId!);\n    req.setRerankermodelprovidername(config.rerankerModelProvider!);\n    req.setAssistantknowledgererankeroptionsList(config.rerankerModelOptions!);\n  }\n  req.setTopk(config.topK);\n  req.setScorethreshold(config.scoreThreshold);\n  req.setRetrievalmethod(config.searchMethod);\n\n  return connectionConfig.assistantClient.createAssistantKnowledge(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param webhookId\n * @param method\n * @param endpoint\n * @param headers\n * @param events\n * @param retryOnStatus\n * @param maxRetries\n * @param timeout\n * @param cb\n * @param authHeader\n * @param description\n * @returns\n */\nexport function UpdateAssistantKnowledge(\n  connectionConfig: ConnectionConfig,\n  id: string,\n  assistantId: string,\n  knowledgeId: string,\n  config: {\n    searchMethod: \"semantic\" | \"fullText\" | \"hybrid\" | \"invertedIndex\";\n    rerankingEnable: boolean;\n    rerankerModelProvider?: string;\n    rerankerModelProviderId?: string;\n    rerankerModelOptions?: Metadata[];\n    topK: number;\n    scoreThreshold: number;\n  },\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantKnowledgeResponse | null\n  ) => void,\n  authHeader: UserAuthInfo\n) {\n  const req = new UpdateAssistantKnowledgeRequest();\n  req.setKnowledgeid(knowledgeId);\n  req.setAssistantid(assistantId);\n  req.setId(id);\n  if (config.rerankingEnable) {\n    req.setRerankerenable(config.rerankingEnable);\n    req.setRerankermodelproviderid(config.rerankerModelProviderId!);\n    req.setRerankermodelprovidername(config.rerankerModelProvider!);\n    req.setAssistantknowledgererankeroptionsList(config.rerankerModelOptions!);\n  }\n  req.setTopk(config.topK);\n  req.setScorethreshold(config.scoreThreshold);\n  req.setRetrievalmethod(config.searchMethod);\n\n  return connectionConfig.assistantClient.updateAssistantKnowledge(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param webhookId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetAssistantKnowledge(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  ToolId: string,\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantKnowledgeResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAssistantKnowledgeRequest();\n  req.setAssistantid(assistantId);\n  req.setId(ToolId);\n  return connectionConfig.assistantClient.getAssistantKnowledge(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param assistantId\n * @param ToolId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function DeleteAssistantKnowledge(\n  connectionConfig: ConnectionConfig,\n  assistantId: string,\n  knowledgeId: string,\n  cb: (\n    err: ServiceError | null,\n    response: GetAssistantKnowledgeResponse | null\n  ) => void,\n  authHeader: UserAuthInfo\n) {\n  const req = new DeleteAssistantKnowledgeRequest();\n  req.setAssistantid(assistantId);\n  req.setId(knowledgeId);\n  return connectionConfig.assistantClient.deleteAssistantKnowledge(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\n\nexport type RapidaSource =\n  | \"web-plugin\"\n  | \"debugger\"\n  | \"sdk\"\n  | \"phone-call\"\n  | \"whatsapp\";\nexport const WEB_PLUGIN_SOURCE: RapidaSource = \"web-plugin\";\nexport const DEBUGGER_SOURCE: RapidaSource = \"debugger\";\nexport const SDK_SOURCE: RapidaSource = \"sdk\";\nexport const PHONE_CALL_SOURCE: RapidaSource = \"phone-call\";\nexport const WHATSAPP_SOURCE: RapidaSource = \"whatsapp\";\n\nexport function getRapidaSourceValue(source: RapidaSource): string {\n  return source;\n}\n\n// FromStr returns the corresponding RapidaSource for a given string,\n// or 'web-plugin' if the string does not match any source.\nexport function fromStr(label: string): RapidaSource {\n  switch (label.toLowerCase()) {\n    case \"web-plugin\":\n      return WEB_PLUGIN_SOURCE;\n    case \"debugger\":\n      return DEBUGGER_SOURCE;\n    case \"sdk\":\n      return SDK_SOURCE;\n    case \"phone-call\":\n      return PHONE_CALL_SOURCE;\n    case \"whatsapp\":\n      return WHATSAPP_SOURCE;\n\n    default:\n      console.warn(\n        \"The source is not supported. Only 'web-plugin', 'debugger', 'sdk' are allowed.\"\n      );\n      return SDK_SOURCE;\n  }\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { RapidaSource } from \"@/rapida/utils/rapida_source\";\nimport { Assistant } from \"@/rapida/clients/protos/assistant-api_pb\";\nimport {\n  AssistantApiDeployment,\n  AssistantDebuggerDeployment,\n  AssistantWebpluginDeployment,\n} from \"@/rapida/clients/protos/assistant-deployment_pb\";\n\nexport type AgentDeployment =\n  | {\n      type: \"debugger\";\n      deployment: AssistantDebuggerDeployment;\n      inAudio: boolean;\n      outAudio: boolean;\n    }\n  | {\n      type: \"web-plugin\";\n      deployment: AssistantWebpluginDeployment;\n      inAudio: boolean;\n      outAudio: boolean;\n    }\n  | {\n      type: \"api\";\n      deployment: AssistantApiDeployment;\n      inAudio: boolean;\n      outAudio: boolean;\n    };\n\nexport const GetDeployment = (\n  assistant: Assistant,\n  source: RapidaSource\n): AgentDeployment | undefined => {\n  switch (source) {\n    case \"debugger\": {\n      const deployment = assistant.getDebuggerdeployment();\n      return deployment\n        ? {\n            type: \"debugger\",\n            deployment: deployment,\n            inAudio: deployment.getInputaudio() != undefined,\n            outAudio: deployment.getOutputaudio() != undefined,\n          }\n        : undefined;\n    }\n    case \"web-plugin\": {\n      const deployment = assistant.getWebplugindeployment();\n      return deployment\n        ? {\n            type: \"web-plugin\",\n            deployment: deployment,\n            inAudio: deployment.getInputaudio() != undefined,\n            outAudio: deployment.getOutputaudio() != undefined,\n          }\n        : undefined;\n    }\n    default: {\n      const deployment = assistant.getApideployment();\n      return deployment\n        ? {\n            type: \"api\",\n            deployment: deployment,\n            inAudio: deployment.getInputaudio() != undefined,\n            outAudio: deployment.getOutputaudio() != undefined,\n          }\n        : undefined;\n    }\n  }\n};\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nexport const DEFAULT_DEVICE_ID = \"default\";\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nconst commonVersionIdentifier = /version\\/(\\d+(\\.?_?\\d+)+)/i;\n\nexport type DetectableBrowser =\n  | \"Chrome\"\n  | \"Firefox\"\n  | \"Safari\"\n  | \"Internet Explorer\"\n  | \"Edge\";\nexport type DetectableOS = \"iOS\" | \"macOS\";\n\nexport type BrowserDetails = {\n  name: DetectableBrowser;\n  version: string;\n  os?: DetectableOS;\n  osVersion?: string;\n};\n\nlet browserDetails: BrowserDetails | undefined;\n\n/**\n * @internal\n */\nexport function getBrowser(\n  userAgent?: string,\n  force = true\n): BrowserDetails | undefined {\n  if (typeof userAgent === \"undefined\" && typeof navigator === \"undefined\") {\n    return;\n  }\n  const ua = (userAgent ?? navigator.userAgent).toLowerCase();\n  if (browserDetails === undefined || force) {\n    const browser = browsersList.find(({ test }) => test.test(ua));\n    browserDetails = browser?.describe(ua);\n  }\n  return browserDetails;\n}\n\nconst browsersList = [\n  {\n    test: /firefox|iceweasel|fxios/i,\n    describe(ua: string) {\n      const browser: BrowserDetails = {\n        name: \"Firefox\",\n        version: getMatch(\n          /(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,\n          ua\n        ),\n        os: ua.toLowerCase().includes(\"fxios\") ? \"iOS\" : undefined,\n        osVersion: getOSVersion(ua),\n      };\n      return browser;\n    },\n  },\n  {\n    test: /chrom|crios|crmo/i,\n    describe(ua: string) {\n      const browser: BrowserDetails = {\n        name: \"Chrome\",\n        version: getMatch(\n          /(?:chrome|chromium|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,\n          ua\n        ),\n        os: ua.toLowerCase().includes(\"crios\") ? \"iOS\" : undefined,\n        osVersion: getOSVersion(ua),\n      };\n\n      return browser;\n    },\n  },\n  /* Safari */\n  {\n    test: /safari|applewebkit/i,\n    describe(ua: string) {\n      const browser: BrowserDetails = {\n        name: \"Safari\",\n        version: getMatch(commonVersionIdentifier, ua),\n        os: ua.includes(\"mobile/\") ? \"iOS\" : \"macOS\",\n        osVersion: getOSVersion(ua),\n      };\n\n      return browser;\n    },\n  },\n];\n\nfunction getMatch(exp: RegExp, ua: string, id = 1) {\n  const match = ua.match(exp);\n  return (match && match.length >= id && match[id]) || \"\";\n}\n\nfunction getOSVersion(ua: string) {\n  return ua.includes(\"mac os\")\n    ? getMatch(/\\(.+?(\\d+_\\d+(:?_\\d+)?)/, ua, 1).replace(/_/g, \".\")\n    : undefined;\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { getBrowser } from \"@/rapida/utils/rapida_client\";\nimport { Timestamp } from \"google-protobuf/google/protobuf/timestamp_pb\";\nimport { Metadata } from \"@/rapida/clients/protos/common_pb\";\n\nimport moment from \"moment\";\n\nexport function isSafari(): boolean {\n  return getBrowser()?.name === \"Safari\";\n}\n\nexport function isChrome(): boolean {\n  return getBrowser()?.name === \"Chrome\";\n}\n\nexport function isFirefox(): boolean {\n  return getBrowser()?.name === \"Firefox\";\n}\n\nexport function isInternetExplorer(): boolean {\n  return getBrowser()?.name === \"Internet Explorer\";\n}\n\nexport function isEdge(): boolean {\n  return getBrowser()?.name === \"Edge\";\n}\n\nexport function isMacOs(): boolean {\n  return getBrowser()?.os === \"macOS\";\n}\n\nexport function isIOS(): boolean {\n  return getBrowser()?.os === \"iOS\";\n}\n\n/**\n *\n * @returns\n */\nexport const isElectron = (): boolean => {\n  return window.isElectron != undefined ? window.isElectron : false;\n};\n\nexport function toDate(timestamp: Timestamp): Date {\n  // Extract seconds and nanos from gRPC Timestamp\n  const seconds = timestamp.getSeconds();\n  const nanos = timestamp.getNanos();\n\n  // Calculate milliseconds since Unix epoch\n  // const milliseconds = seconds * 1000 + Math.round(nanos / 1e6);\n\n  // // Create Moment.js object from milliseconds\n  // return moment.utc(milliseconds).toDate();\n\n  // // Extract seconds and nanos from the gRPC timestamp\n  // const { seconds, nanos } = timestamp;\n\n  // Convert seconds to milliseconds\n  const millisecondsFromSeconds = seconds * 1000;\n\n  // Convert nanos to milliseconds\n  const millisecondsFromNanos = nanos / 1000000;\n\n  // Combine the two to get the total milliseconds\n  const totalMilliseconds = millisecondsFromSeconds + millisecondsFromNanos;\n\n  // Create a new Date object using the total milliseconds (interpreted as UTC)\n  const utcDate = new Date(totalMilliseconds);\n\n  // The Date object automatically handles conversion to local time\n  return utcDate;\n}\n\nexport function toHumanReadableDate(timestamp: Timestamp): string {\n  const options = {\n    year: \"numeric\",\n    month: \"short\",\n    day: \"numeric\",\n  };\n\n  return toDate(timestamp).toLocaleDateString(\n    \"en-US\",\n    options as Intl.DateTimeFormatOptions\n  );\n}\n\nexport function toHumanReadableDateTime(timestamp: Timestamp): string {\n  return toDate(timestamp).toUTCString();\n}\n\nexport function toHumanReadableRelativeTime(timestamp: Timestamp): string {\n  return moment(toDate(timestamp).toUTCString()).fromNow();\n}\nexport function daysAgoFromTimestamp(timestamp: Timestamp): number {\n  const givenDate = moment(toDate(timestamp).toUTCString());\n  const today = moment().utc();\n  return today.diff(givenDate, \"days\");\n}\nexport function toHumanReadableRelativeDay(timestamp: Timestamp): string {\n  const daysAgo = daysAgoFromTimestamp(timestamp);\n  if (daysAgo === 0) {\n    return \"today\";\n  } else if (daysAgo === 1) {\n    return \"yesterday\";\n  } else {\n    return `${daysAgo} days ago`;\n  }\n}\n\nexport function getTimeFromDate(timestamp: Timestamp): string {\n  const hours = toDate(timestamp).getHours().toString().padStart(2, \"0\");\n  const minutes = toDate(timestamp).getMinutes().toString().padStart(2, \"0\");\n  return `${hours}:${minutes}`;\n}\n\n/**\n * Detects if the current device is a mobile device.\n * This checks both the user agent and screen size to determine if the device is a mobile device.\n * @returns {boolean} True if the current device is a mobile device, false otherwise.\n */\nexport function isMobile(): boolean {\n  // Check if window exists (for SSR compatibility)\n  if (typeof window === \"undefined\") {\n    return false;\n  }\n\n  // User agent detection for mobile devices\n  const userAgent = window.navigator.userAgent.toLowerCase();\n  const mobileKeywords = [\n    \"android\",\n    \"iphone\",\n    \"ipod\",\n    \"ipad\",\n    \"windows phone\",\n    \"blackberry\",\n    \"nokia\",\n    \"opera mini\",\n    \"mobile\",\n    \"tablet\",\n  ];\n\n  // Check if any mobile keywords are in the user agent\n  const hasMobileUA = mobileKeywords.some((keyword) =>\n    userAgent.includes(keyword)\n  );\n\n  // Additional check for iOS devices using vendor\n  const isIOS =\n    /iPad|iPhone|iPod/.test(navigator.platform) ||\n    (navigator.platform === \"MacIntel\" && navigator.maxTouchPoints > 1);\n\n  // Additional screen size check (most mobile devices are less than 1024px wide)\n  const hasSmallScreen = window.innerWidth < 1024;\n\n  // Additional touch check - most mobile devices support touch\n  const hasTouch = \"ontouchstart\" in window || navigator.maxTouchPoints > 0;\n\n  // Consider it mobile if user agent suggests mobile OR it's iOS\n  // AND has either small screen or touch capabilities\n  return (hasMobileUA || isIOS) && (hasSmallScreen || hasTouch);\n}\n\n/**\n * Detects if the current browser is Safari on iOS.\n * iOS Safari has specific restrictions around media permissions.\n * @returns {boolean} True if the current browser is Safari on iOS, false otherwise.\n */\nexport function isIOSSafari(): boolean {\n  return (\n    isMobile() &&\n    isSafari() &&\n    (/iPad|iPhone|iPod/.test(navigator.platform) ||\n      (navigator.platform === \"MacIntel\" && navigator.maxTouchPoints > 1))\n  );\n}\n\nexport interface ProviderConfig {\n  providerId: string;\n  provider: string;\n  parameters: Metadata[];\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { DEFAULT_DEVICE_ID } from \"@/rapida/constants\";\nimport { isSafari, isMobile } from \"@/rapida/utils\";\n\nexport class DeviceManager {\n  private static instance?: DeviceManager;\n  static mediaDeviceKinds: MediaDeviceKind[] = [\"audioinput\", \"audiooutput\"];\n  static getInstance(): DeviceManager {\n    if (this.instance === undefined) {\n      this.instance = new DeviceManager();\n    }\n    return this.instance;\n  }\n\n  static userMediaPromiseMap: Map<MediaDeviceKind, Promise<MediaStream>> =\n    new Map();\n\n  async getDevices(\n    kind?: MediaDeviceKind,\n    requestPermissions: boolean = true\n  ): Promise<MediaDeviceInfo[]> {\n    // Check if navigator.mediaDevices is available (not available in some browsers in insecure contexts)\n    if (!navigator.mediaDevices) {\n      console.warn(\"MediaDevices API not available in this browser or context\");\n      return [];\n    }\n\n    // Wait for any pending media permission requests\n    if (DeviceManager.userMediaPromiseMap?.size > 0) {\n      console.debug(\"awaiting getUserMedia promise\");\n      try {\n        if (kind) {\n          const pendingPromise = DeviceManager.userMediaPromiseMap.get(kind);\n          if (pendingPromise) {\n            await pendingPromise;\n          }\n        } else {\n          await Promise.all(DeviceManager.userMediaPromiseMap.values());\n        }\n      } catch (e: any) {\n        console.warn(\"error waiting for media permissions:\", e);\n      }\n    }\n\n    // Initial device enumeration\n    let devices: MediaDeviceInfo[] = [];\n    try {\n      devices = await navigator.mediaDevices.enumerateDevices();\n    } catch (error) {\n      console.error(\"Failed to enumerate devices:\", error);\n      return [];\n    }\n\n    // Determine if we need to request permissions\n    const needsPermission = this.needsMediaPermissions(\n      devices,\n      kind,\n      requestPermissions\n    );\n\n    // Request permissions if needed\n    if (needsPermission) {\n      try {\n        // Different approach based on the kind of device we're looking for\n        const constraints: MediaStreamConstraints = {\n          audio:\n            kind === \"audioinput\" ||\n            (!kind && DeviceManager.mediaDeviceKinds.includes(\"audioinput\")),\n          video:\n            kind === \"videoinput\" ||\n            (!kind && DeviceManager.mediaDeviceKinds.includes(\"videoinput\")),\n        };\n\n        // For audiooutput, we need audio input permissions first in many browsers\n        if (kind === \"audiooutput\") {\n          constraints.audio = true;\n        }\n\n        // Mobile-specific optimizations\n        if (isMobile()) {\n          // On mobile, we want to minimize the camera usage to save battery\n          // and avoid potential permission issues\n          if (constraints.video && kind !== \"videoinput\") {\n            // If we're not specifically looking for video devices, prefer audio only on mobile\n            constraints.video = false;\n          }\n\n          // Use simpler constraints for mobile\n          if (constraints.video) {\n            constraints.video = { facingMode: { ideal: \"user\" } };\n          }\n        }\n\n        // Store the permission request promise\n        const permissionPromise =\n          navigator.mediaDevices.getUserMedia(constraints);\n\n        if (kind) {\n          DeviceManager.userMediaPromiseMap.set(kind, permissionPromise);\n        } else {\n          // If no specific kind, set for all relevant kinds\n          if (constraints.audio) {\n            DeviceManager.userMediaPromiseMap.set(\n              \"audioinput\",\n              permissionPromise\n            );\n          }\n          if (constraints.video) {\n            DeviceManager.userMediaPromiseMap.set(\n              \"videoinput\",\n              permissionPromise\n            );\n          }\n        }\n\n        // Request the permissions\n        const stream = await permissionPromise;\n\n        // Re-enumerate devices after permissions granted\n        devices = await navigator.mediaDevices.enumerateDevices();\n\n        // Clean up the stream\n        stream.getTracks().forEach((track) => track.stop());\n\n        // Clear the promise from the map\n        if (kind) {\n          DeviceManager.userMediaPromiseMap.delete(kind);\n        } else {\n          DeviceManager.userMediaPromiseMap.clear();\n        }\n      } catch (error) {\n        console.error(\"Failed to get user media:\", error);\n        // Clear failed promise\n        if (kind) {\n          DeviceManager.userMediaPromiseMap.delete(kind);\n        }\n\n        // On mobile, especially iOS, sometimes we need to just work with what we have\n        if (isMobile()) {\n          console.warn(\n            \"Using available devices on mobile despite permission failure\"\n          );\n          try {\n            devices = await navigator.mediaDevices.enumerateDevices();\n          } catch (e) {\n            console.error(\n              \"Failed to enumerate devices after permission failure:\",\n              e\n            );\n          }\n        }\n      }\n    }\n\n    // Filter by kind if specified\n    if (kind) {\n      devices = devices.filter((device) => device.kind === kind);\n    }\n\n    return devices;\n  }\n\n  private needsMediaPermissions(\n    devices: MediaDeviceInfo[],\n    kind?: MediaDeviceKind,\n    requestPermissions: boolean = true\n  ): boolean {\n    // Don't request permissions if not asked to\n    if (!requestPermissions) {\n      return false;\n    }\n\n    // Special handling for Safari - particularly important on iOS\n    if (isSafari() && this.hasDeviceInUse(kind)) {\n      return false; // Skip request for Safari if devices are already in use to avoid iOS bug\n    }\n\n    // On iOS, we need to be careful about requesting permissions too frequently\n    // as it can cause the browser to block further requests\n    if (isMobile() && isSafari() && devices.length > 0) {\n      // If we have any device with labels on iOS, assume we have permissions\n      // This helps avoid the iOS Safari issue where repeated permission requests can be problematic\n      const hasAnyLabels = devices.some(\n        (device) => device.label && device.label !== \"\"\n      );\n      if (hasAnyLabels) {\n        return false;\n      }\n    }\n\n    // Filter relevant devices based on kind\n    const relevantDevices = kind\n      ? devices.filter((d) => d.kind === kind)\n      : devices;\n\n    // Check if we have any unlabeled devices (indicating no permissions)\n    const hasUnlabeledDevices = relevantDevices.some(\n      (device) => !device.label || device.label === \"\"\n    );\n\n    // Check if we have any devices at all\n    const hasNoDevices = kind\n      ? devices.filter((d) => d.kind === kind).length === 0\n      : devices.length === 0;\n\n    return hasUnlabeledDevices || hasNoDevices;\n  }\n\n  async normalizeDeviceId(\n    kind: MediaDeviceKind,\n    deviceId?: string,\n    groupId?: string\n  ): Promise<string | undefined> {\n    // If not default device, return as is\n    if (!deviceId || deviceId !== DEFAULT_DEVICE_ID) {\n      return deviceId;\n    }\n\n    try {\n      // Get all devices of specified kind\n      const devices = await this.getDevices(kind);\n\n      // If no devices found, return undefined\n      if (!devices.length) {\n        console.warn(`No ${kind} devices found`);\n        return undefined;\n      }\n\n      // Find the default device\n      const defaultDevice = devices.find(\n        (d) => d.deviceId === DEFAULT_DEVICE_ID\n      );\n\n      // Mobile devices often don't have a \"default\" concept in the same way as desktop\n      if (isMobile() && !defaultDevice) {\n        // On mobile, particularly iOS, just return the first device if no default found\n        console.info(`Using first available ${kind} device on mobile`);\n        return devices[0]?.deviceId;\n      }\n\n      // If no default device found on desktop, return first available device\n      if (!defaultDevice) {\n        console.warn(\n          `No default ${kind} device found, returning first available device`\n        );\n        return devices[0]?.deviceId;\n      }\n\n      // Try to find a device in the same group as the default device\n      const targetGroupId = groupId ?? defaultDevice.groupId;\n      const device = devices.find(\n        (d) => d.deviceId !== DEFAULT_DEVICE_ID && d.groupId === targetGroupId\n      );\n\n      // Return found device or first non-default device\n      if (device) {\n        return device.deviceId;\n      }\n\n      // If no match found, return first non-default device\n      const nonDefaultDevice = devices.find(\n        (d) => d.deviceId !== DEFAULT_DEVICE_ID\n      );\n      if (nonDefaultDevice) {\n        return nonDefaultDevice.deviceId;\n      }\n\n      // Last resort: just return the default device ID\n      return defaultDevice.deviceId;\n    } catch (error) {\n      console.error(\"Error normalizing device ID:\", error);\n\n      // On mobile, attempt to recover by returning first device of the correct kind\n      if (isMobile()) {\n        try {\n          const devices = await this.getDevices(kind, false); // Don't request permissions here\n          if (devices.length > 0) {\n            return devices[0].deviceId;\n          }\n        } catch (e) {\n          console.error(\"Failed to get fallback device on mobile:\", e);\n        }\n      }\n\n      return undefined;\n    }\n  }\n\n  private hasDeviceInUse(kind?: MediaDeviceKind): boolean {\n    return kind\n      ? DeviceManager.userMediaPromiseMap.has(kind)\n      : DeviceManager.userMediaPromiseMap.size > 0;\n  }\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { DeviceManager } from \"@/rapida/devices/device-manager\";\nimport {\n  AssistantConversationAssistantMessage,\n  AssistantConversationInterruption,\n  AssistantConversationUserMessage,\n  AssistantMessagingResponse,\n} from \"@/rapida/clients/protos/talk-api_pb\";\nimport { AgentEvent } from \"@/rapida/events/agent-event\";\nimport { AgentServerEvent } from \"@/rapida/events/agent-server-event\";\nimport {\n  toContentText,\n  toStreamAudioContent,\n  toTextContent,\n} from \"@/rapida/utils/rapida_content\";\n\nimport { toDate } from \"@/rapida/utils\";\nimport { MessageRole, MessageStatus } from \"@/rapida/agents/message\";\nimport { Channel } from \"@/rapida/channels\";\nimport { AgentConfig } from \"@/rapida/agents/agent-config\";\nimport { AssistantConnectionConfig } from \"@/rapida/connections/connection-config\";\nimport { Agent } from \"@/rapida/agents/\";\nimport { Input } from \"@/rapida/audio/input\";\nimport { Output } from \"@/rapida/audio/output\";\nimport { isAndroidDevice, isIosDevice } from \"@/rapida/audio/compatibility\";\nimport { arrayBufferToUint8 } from \"@/rapida/audio/audio\";\n\nexport class VoiceAgent extends Agent {\n  private input: Input | null = null;\n  private output: Output | null = null;\n  private preliminaryInputStream: MediaStream | null = null;\n  private volume: number = 1;\n\n  private inputFrequencyData?: Uint8Array;\n  private outputFrequencyData?: Uint8Array;\n\n  public getInputByteFrequencyData = (): Uint8Array | undefined => {\n    if (this.input) {\n      this.inputFrequencyData = new Uint8Array(\n        this.input.analyser.frequencyBinCount\n      );\n      // Use type assertion to satisfy TypeScript\n      (this.input.analyser.getByteFrequencyData as (array: Uint8Array) => void)(\n        this.inputFrequencyData\n      );\n    }\n    return this.inputFrequencyData;\n  };\n\n  public getOutputByteFrequencyData = (): Uint8Array | undefined => {\n    if (this.output) {\n      this.outputFrequencyData = new Uint8Array(\n        this.output.analyser.frequencyBinCount\n      );\n      // Use type assertion to satisfy TypeScript\n      (\n        this.output.analyser.getByteFrequencyData as (array: Uint8Array) => void\n      )(this.outputFrequencyData);\n    }\n    return this.outputFrequencyData;\n  };\n\n  /**\n   * input media device id\n   */\n  inputChannel: Channel = Channel.Audio;\n  private audioInputPaused: boolean = true;\n  outputChannel: Channel = Channel.Audio;\n  private audioOutputPaused: boolean = true;\n\n  /**\n   * Creates a new Room, the primary construct for a LiveKit session.\n   * @param options\n   */\n  constructor(connection: AssistantConnectionConfig, agentConfig: AgentConfig) {\n    super(connection, agentConfig);\n    this.outputChannel = this.agentConfig.outputOptions.defaultChannel;\n    this.inputChannel = this.agentConfig.inputOptions.defaultChannel;\n  }\n\n  /**\n   * disconnecting the agent and voice if it is connected\n   */\n  public disconnect = async () => {\n    await this.disconnectAgent();\n    await this.disconnectAudio();\n  };\n\n  /**\n   * disconnect the audio for the agent\n   */\n  public disconnectAudio = async () => {\n    try {\n      this.preliminaryInputStream?.getTracks().forEach((track) => track.stop());\n      await this.input?.close();\n      await this.output?.close();\n    } catch (error) {\n      console.error(\"Error during cleanup:\", error);\n      // Optionally, you can add more specific error handling or logging here\n    }\n  };\n\n  private connectDevice = async () => {\n    try {\n      this.preliminaryInputStream = await navigator.mediaDevices.getUserMedia({\n        audio: true,\n      });\n      [this.input, this.output] = await Promise.all([\n        Input.create(this.agentConfig.inputOptions.recorderOption),\n        Output.create(this.agentConfig.outputOptions.playerOption),\n      ]);\n\n      this.input.worklet.port.onmessage = this.onInputWorkletMessage;\n      this.output.worklet.port.onmessage = this.onOutputWorkletMessage;\n\n      this.preliminaryInputStream?.getTracks().forEach((track) => track.stop());\n      this.preliminaryInputStream = null;\n    } catch (error) {\n      await this.disconnectAudio();\n      console.log(error);\n      // throw error;\n    }\n  };\n\n  /**\n   *\n   */\n  private connectAudio = async () => {\n    const delayConfig = {\n      default: 0,\n      android: 3_000,\n      ios: 0,\n    };\n    let delay = delayConfig.default;\n    if (isAndroidDevice()) {\n      delay = delayConfig.android ?? delay;\n    } else if (isIosDevice()) {\n      delay = delayConfig.ios ?? delay;\n    }\n    if (delay > 0) {\n      await new Promise((resolve) => setTimeout(resolve, delay));\n    }\n    if (isIosDevice()) {\n      const availableDevices =\n        await window.navigator.mediaDevices.enumerateDevices();\n      const idealDevice = availableDevices.find(\n        (d) =>\n          d.kind === \"audioinput\" &&\n          [\"airpod\", \"headphone\", \"earphone\"].find((keyword) =>\n            d.label.toLowerCase().includes(keyword)\n          )\n      );\n      if (idealDevice) {\n        this.agentConfig.inputOptions.recorderOption.device =\n          idealDevice.deviceId;\n      }\n    }\n    await this.connectDevice();\n  };\n\n  /**\n   *\n   * Sending a message to server contains audio buffer\n   * Very optimize version that will handle the request and response wihtout modifying\n   * this makes the actual data sent to the server to process\n   * @param event\n   */\n  private onInputWorkletMessage = (event: MessageEvent): void => {\n    const rawAudioPcmData = event.data[0];\n    const maxVolume = event.data[1];\n    if (this.inputChannel == Channel.Audio)\n      this.talkingConnection?.write(\n        this.createAssistantRequest(\"user\", [\n          toStreamAudioContent(arrayBufferToUint8(rawAudioPcmData.buffer)),\n        ])\n      );\n  };\n\n  /**\n   *\n   * @param param0\n   */\n  private onOutputWorkletMessage = ({ data }: MessageEvent): void => {\n    if (data.type === \"process\") {\n      // this.updateMode(data.finished ? \"listening\" : \"speaking\");\n    }\n  };\n\n  /**\n   *\n   */\n  private interruptAudio = () => {\n    this.output?.worklet.port.postMessage({ type: \"interrupt\" });\n    this.output?.gain.gain.exponentialRampToValueAtTime(\n      0.0001,\n      this.output.context.currentTime + 2\n    );\n    setTimeout(() => {\n      if (this.output) this.output.gain.gain.value = this.volume;\n      this.output?.worklet.port.postMessage({ type: \"clearInterrupted\" });\n    }, 2000);\n  };\n\n  /**\n   *\n   * @param duration\n   * @returns\n   */\n  private fadeOutAudio = (duration: number = 2) => {\n    if (!this.output) return;\n\n    const currentTime = this.output.context.currentTime;\n    this.output.gain.gain.exponentialRampToValueAtTime(\n      0.0001,\n      currentTime + duration\n    );\n\n    setTimeout(() => {\n      if (this.output) this.output.gain.gain.value = this.volume;\n    }, duration * 1000);\n  };\n\n  /**\n   *\n   * @param chunk\n   */\n  private addAudioChunk = (chunk: ArrayBuffer) => {\n    if (this.output) {\n      this.output.gain.gain.value = this.volume;\n      this.output.worklet.port.postMessage({ type: \"clearInterrupted\" });\n      this.output.worklet.port.postMessage({\n        type: \"buffer\",\n        buffer: chunk,\n      });\n    }\n  };\n\n  /**\n   *\n   * @returns\n   */\n  public connect = async () => {\n    try {\n      if (this.assistant == null) {\n        return;\n      }\n      await this.connectAgent();\n      if (this.inputChannel == Channel.Audio) {\n        // connecting audio for sending and recieving audio\n        await this.connectAudio();\n      }\n    } catch (err) {\n      console.error(\"error while connect \" + err);\n    }\n  };\n\n  /**\n   *\n   * @param text\n   */\n  public onSendText = async (text: string) => {\n    if (!this.isConnected) await this.connect();\n    if (this.inputChannel == Channel.Text) {\n      // only send text when you know the channel is text\n      this.talkingConnection?.write(\n        this.createAssistantRequest(\"user\", [toTextContent(text)])\n      );\n    }\n  };\n\n  /**\n   * Getting  all the list of deviceid\n   * @param kind\n   * @param requestPermissions\n   * @returns\n   */\n  static getLocalDevices(\n    kind?: MediaDeviceKind,\n    requestPermissions: boolean = true\n  ): Promise<MediaDeviceInfo[]> {\n    return DeviceManager.getInstance().getDevices(kind, requestPermissions);\n  }\n\n  /**\n   *  changing the deviceid\n   * @param deviceId the device id\n   */\n  public setOutputMediaDevice = async (deviceId: string) => {\n    if (this.agentConfig.outputOptions.playerOption.device === deviceId) {\n      return;\n    }\n    this.agentConfig.outputOptions.playerOption.device = deviceId;\n    await this.connectDevice();\n    this.emit(AgentEvent.OutputMediaDeviceChanged, deviceId);\n  };\n\n  /**\n   *  Changing media device id\n   * @param deviceId\n   * @returns\n   */\n  public setInputMediaDevice = async (deviceId: string) => {\n    if (this.agentConfig.inputOptions.recorderOption.device === deviceId) {\n      return;\n    }\n    console.log(\"changing the input audio with new device id \" + deviceId);\n    this.agentConfig.inputOptions.recorderOption.device = deviceId;\n    await this.connectDevice();\n    this.emit(AgentEvent.InputMediaDeviceChanged, deviceId);\n  };\n\n  get inputMediaDevice(): string | undefined {\n    return this.agentConfig.inputOptions.recorderOption.device;\n  }\n\n  /**\n   *\n   * @param input\n   * @returns\n   */\n  public setInputChannel = async (input: Channel) => {\n    if (this.inputChannel == input) {\n      return;\n    }\n    if (input == Channel.Audio) {\n      await this.connectAudio();\n    } else {\n      await this.disconnectAudio();\n    }\n    this.inputChannel = input;\n    this.emit(AgentEvent.InputChannelSwitch, this.inputChannel);\n  };\n\n  /**\n   *\n   * @param interruptionData\n   */\n  private onHandleInterruption = (\n    interruptionData: AssistantConversationInterruption | undefined\n  ) => {\n    if (interruptionData) {\n      switch (interruptionData.getType()) {\n        case AssistantConversationInterruption.InterruptionType\n          .INTERRUPTION_TYPE_UNSPECIFIED:\n          console.log(\"Unspecified interruption type\");\n          break;\n        case AssistantConversationInterruption.InterruptionType\n          .INTERRUPTION_TYPE_VAD:\n          this.fadeOutAudio();\n          break;\n        case AssistantConversationInterruption.InterruptionType\n          .INTERRUPTION_TYPE_WORD:\n          // when interrupt then mark last message completed\n          if (this.agentMessages.length > 0) {\n            const lastIndex = this.agentMessages.length - 1;\n            this.agentMessages[lastIndex] = {\n              ...this.agentMessages[lastIndex],\n              status: MessageStatus.Complete,\n            };\n          }\n          this.interruptAudio();\n          break;\n        default:\n          console.log(\"Unknown interruption type\");\n      }\n      this.emit(\n        AgentEvent.ServerEvent,\n        AgentServerEvent.Interruption,\n        interruptionData\n      );\n    }\n  };\n\n  private onHandleUser = (\n    userContent: AssistantConversationUserMessage | undefined\n  ) => {\n    if (userContent) {\n      const agentTranscript = toContentText(\n        userContent.getMessage()?.getContentsList()\n      );\n      if (agentTranscript) {\n        if (this.agentMessages.length > 0) {\n          const lastMessage = this.agentMessages[this.agentMessages.length - 1];\n          if (\n            lastMessage.role === MessageRole.User &&\n            lastMessage.id === userContent.getId()\n          ) {\n            this.agentMessages.pop();\n          }\n        }\n        this.agentMessages.push({\n          id: userContent.getId(),\n          role: MessageRole.User,\n          messages: [agentTranscript],\n          time: toDate(userContent?.getTime()),\n          status: userContent.getCompleted()\n            ? MessageStatus.Complete\n            : MessageStatus.Pending,\n        });\n      }\n      this.emit(\n        AgentEvent.ServerEvent,\n        AgentServerEvent.Transcript,\n        userContent\n      );\n    }\n  };\n\n  private onHandleAssistant = (\n    systemContent: AssistantConversationAssistantMessage | undefined\n  ) => {\n    if (systemContent) {\n      const responseContent =\n        systemContent?.getMessage()?.getContentsList() || [];\n      if (\n        responseContent.filter((x) => x.getContenttype() == \"text\").length > 0\n      ) {\n        const systemTranscript = toContentText(\n          responseContent.filter((x) => x.getContenttype() == \"text\")\n        );\n        if (systemTranscript) {\n          if (systemContent.getCompleted()) {\n            // Complete message\n            if (this.agentMessages.length > 0) {\n              const lastMessage =\n                this.agentMessages[this.agentMessages.length - 1];\n              if (\n                lastMessage.role === MessageRole.System &&\n                lastMessage.status === MessageStatus.Pending\n              ) {\n                // Update the existing message to complete\n                lastMessage.messages = [systemTranscript]; // Replace with complete message\n                lastMessage.status = MessageStatus.Complete;\n                lastMessage.time = toDate(systemContent?.getTime());\n              } else {\n                // Unexpected case: complete message without pending, create new\n                this.agentMessages.push({\n                  id: systemContent.getId(),\n                  role: MessageRole.System,\n                  messages: [systemTranscript],\n                  time: toDate(systemContent?.getTime()),\n                  status: MessageStatus.Complete,\n                });\n              }\n            } else {\n              this.agentMessages.push({\n                id: systemContent.getId(),\n                role: MessageRole.System,\n                messages: [systemTranscript],\n                time: toDate(systemContent?.getTime()),\n                status: MessageStatus.Complete,\n              });\n            }\n          } else {\n            // Chunk\n            if (this.agentMessages.length > 0) {\n              const lastMessage =\n                this.agentMessages[this.agentMessages.length - 1];\n              if (\n                lastMessage.role === MessageRole.System &&\n                lastMessage.status === MessageStatus.Pending\n              ) {\n                // Update existing message with new chunk\n                lastMessage.messages[0] += systemTranscript; // Merge strings\n                lastMessage.time = toDate(systemContent?.getTime());\n              } else {\n                // Create new pending message for chunk\n                this.agentMessages.push({\n                  id: systemContent.getId(),\n                  role: MessageRole.System,\n                  messages: [systemTranscript],\n                  time: toDate(systemContent?.getTime()),\n                  status: MessageStatus.Pending,\n                });\n              }\n            } else {\n              // Create new pending message for chunk if no messages exist\n              this.agentMessages.push({\n                id: systemContent.getId(),\n                role: MessageRole.System,\n                messages: [systemTranscript],\n                time: toDate(systemContent?.getTime()),\n                status: MessageStatus.Pending,\n              });\n            }\n          }\n        }\n      }\n\n      if (\n        responseContent.filter((x) => x.getContenttype() == \"audio\").length > 0\n      ) {\n        for (const content of responseContent) {\n          if (content.getContenttype() === \"audio\") {\n            const audioData = content.getContent_asU8();\n            this.addAudioChunk(new Uint8Array(audioData).buffer);\n          }\n        }\n      }\n      this.emit(\n        AgentEvent.ServerEvent,\n        AgentServerEvent.Generation,\n        systemContent\n      );\n    }\n  };\n\n  /**\n   *\n   * @param response\n   * @returns\n   */\n  override onRecieve = async (response: AssistantMessagingResponse) => {\n    switch (response.getDataCase()) {\n      case AssistantMessagingResponse.DataCase.DATA_NOT_SET:\n        break;\n      case AssistantMessagingResponse.DataCase.INTERRUPTION:\n        this.onHandleInterruption(response.getInterruption());\n        break;\n      case AssistantMessagingResponse.DataCase.USER:\n        this.onHandleUser(response.getUser());\n        break;\n      case AssistantMessagingResponse.DataCase.ASSISTANT:\n        // console.dir(response.getAssistant()?.getId());\n        // if (response.getAssistant()?.getMessage()?.getContentsList())\n        //   console.dir(\n        //     toContentText(\n        //       response.getAssistant()?.getMessage()?.getContentsList()\n        //     )\n        //   );\n        this.onHandleAssistant(response.getAssistant());\n        break;\n      case AssistantMessagingResponse.DataCase.CONFIGURATION:\n        const conversation = response.getConfiguration();\n        if (!conversation?.getAssistantconversationid()) return;\n        this.onChangeConversation(conversation?.getAssistantconversationid());\n        break;\n      case AssistantMessagingResponse.DataCase.MESSAGE:\n        break;\n      default:\n        break;\n    }\n  };\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { AgentConfig } from \"@/rapida/agents/agent-config\";\nimport {\n  AssistantMessagingRequest,\n  AssistantMessagingResponse,\n} from \"@/rapida/clients/protos/talk-api_pb\";\nimport {\n  AssistantConnectionConfig,\n  ConnectionConfig,\n} from \"@/rapida/connections/connection-config\";\nimport { ConnectionState } from \"@/rapida/connections/connection-state\";\nimport { AgentEventCallback } from \"@/rapida/events/agent-event-callback\";\nimport { EventEmitter } from \"events\";\nimport type TypedEmitter from \"typed-emitter\";\nimport { Content, Message } from \"@/rapida/clients/protos/common_pb\";\nimport { Message as LocalMessage, MessageRole } from \"@/rapida/agents/message\";\nimport { AgentEvent } from \"@/rapida/events/agent-event\";\nimport {\n  AssistantTalk,\n  CreateConversationMetric,\n  CreateMessageMetric,\n} from \"@/rapida/clients/talk\";\nimport { getFeedback } from \"@/rapida/agents/feedback\";\nimport {\n  Assistant,\n  GetAssistantResponse,\n} from \"@/rapida/clients/protos/assistant-api_pb\";\nimport { GetAssistant } from \"@/rapida/clients/assistant\";\nimport { ServiceError } from \"@/rapida/clients/protos/talk-api_pb_service\";\nimport { RapidaSource, SDK_SOURCE } from \"@/rapida/utils/rapida_source\";\nimport {\n  AgentDeployment,\n  GetDeployment,\n} from \"@/rapida/agents/agent-deployment\";\nimport { HEADER_SOURCE_KEY } from \"@/rapida/utils/rapida_header\";\n\n//\nexport class Agent extends (EventEmitter as new () => TypedEmitter<AgentEventCallback>) {\n  /**\n   * connection state default connection is disconnected\n   */\n  state: ConnectionState = ConnectionState.Disconnected;\n\n  /**\n   * conversation id\n   */\n  protected agentMessagingId: string | undefined;\n  get conversationId(): string | undefined {\n    return this.agentMessagingId;\n  }\n  /**\n   *\n   * @param assistantConversationId\n   * @returns\n   */\n  protected onChangeConversation = (assistantConversationId: string) => {\n    if (this.agentMessagingId) return;\n    this.agentMessagingId = assistantConversationId;\n  };\n\n  /**\n   * an connection for talking client\n   * when you are conversing with agent then this client will get used\n   * work with bi-driectional request <> response\n   */\n  // @ts-ignore\n  protected talkingConnection: any;\n\n  // as the api takes bytes of array can have text byte ot audio byte\n  private rapidaAssistant: Assistant | null = null;\n  get assistant(): Assistant | null {\n    return this.rapidaAssistant;\n  }\n\n  //\n  protected agentConfig: AgentConfig;\n  protected connectionConfig: AssistantConnectionConfig;\n\n  /**\n   *\n   */\n  protected agentMessages: LocalMessage[];\n  get messages(): LocalMessage[] {\n    return this.agentMessages;\n  }\n\n  /**\n   *\n   * @param connection\n   * @param agentConfig\n   * @param onRecieve\n   */\n  protected constructor(\n    connection: AssistantConnectionConfig,\n    agentConfig: AgentConfig\n  ) {\n    super();\n    this.agentConfig = agentConfig;\n    this.connectionConfig = connection;\n    //\n    //\n    this.agentMessagingId = undefined;\n    this.agentMessages = [];\n\n    this.getAssistant()\n      .then((data) => {\n        this.rapidaAssistant = data;\n        this.emit(AgentEvent.Initialized, this.rapidaAssistant);\n      })\n      .catch((error) => {\n        console.error(\"Failed to initialize assistant:\", error);\n      });\n  }\n\n  public getDeployment(): AgentDeployment | undefined {\n    if (this.rapidaAssistant == null) {\n      return undefined;\n    }\n    return GetDeployment(\n      this.assistant!,\n      this.connectionConfig.auth.Client?.[HEADER_SOURCE_KEY] ?? SDK_SOURCE\n    );\n  }\n  /**\n   * Message builder\n   * @param role\n   * @param contents\n   * @returns\n   */\n  protected createAssistantRequest = (\n    role: string,\n    contents: Content[]\n  ): AssistantMessagingRequest => {\n    const request = new AssistantMessagingRequest();\n    if (this.agentMessagingId)\n      request.setAssistantconversationid(this.agentMessagingId);\n    const message = new Message();\n    message.setRole(role);\n    message.setContentsList(contents);\n\n    request.setAssistant(this.agentConfig.definition);\n    request.setMessage(message);\n\n    //\n    if (this.agentConfig.options) {\n      this.agentConfig.options?.forEach((v, k) => {\n        request.getOptionsMap().set(k, v);\n      });\n    }\n\n    //\n    if (this.agentConfig.metadata) {\n      this.agentConfig.metadata?.forEach((v, k) => {\n        request.getMetadataMap().set(k, v);\n      });\n    }\n\n    //\n    if (this.agentConfig.arguments) {\n      this.agentConfig.arguments?.forEach((v, k) => {\n        request.getArgsMap().set(k, v);\n      });\n    }\n\n    return request;\n  };\n\n  /**\n   * After changing connection emit the connection change event with curent state of connection\n   * @param state\n   * @returns\n   */\n  protected setAndEmitConnectionState(state: ConnectionState): boolean {\n    if (state === this.state) {\n      return false;\n    }\n    this.state = state;\n    this.emit(AgentEvent.ConnectionChanged, this.state);\n    this.connectionConfig.onConnectionChange(state);\n    return true;\n  }\n\n  /**\n   *\n   * @param messageId\n   * @param metrics\n   */\n  public createMessageMetric(\n    messageId: string,\n    metrics: {\n      name: string;\n      description: string;\n      value: string;\n    }[]\n  ) {\n    CreateMessageMetric(\n      this.connectionConfig,\n      this.agentConfig.definition.getAssistantid(),\n      this.agentMessagingId!,\n      messageId,\n      metrics,\n      () => {\n        //\n        const feedback = getFeedback(metrics[metrics.length - 1]?.value);\n        this.agentMessages = this.agentMessages.map((message) => {\n          if (message.id === messageId && message.role === MessageRole.System) {\n            return {\n              ...message,\n              feedback: feedback,\n            };\n          }\n          return message;\n        });\n        this.emit(AgentEvent.MessageFeedback, getFeedback(feedback));\n      },\n      this.connectionConfig.auth\n    );\n  }\n\n  /**\n   *\n   * @param metrics\n   */\n  public createConversationMetric(\n    metrics: {\n      name: string;\n      description: string;\n      value: string;\n    }[]\n  ) {\n    CreateConversationMetric(\n      this.connectionConfig,\n      this.agentConfig.definition.getAssistantid(),\n      this.agentMessagingId!,\n      metrics,\n      () => {\n        console.dir(\"message metric got created\");\n      },\n      this.connectionConfig.auth\n    );\n  }\n\n  /**\n   *\n   * @param event\n   * @param args\n   * @returns\n   */\n  emit<E extends keyof AgentEventCallback>(\n    event: E,\n    ...args: Parameters<AgentEventCallback[E]>\n  ): boolean {\n    return super.emit(event, ...args);\n  }\n\n  /**\n   *\n   */\n  get isConnected(): boolean {\n    return this.state === ConnectionState.Connected;\n  }\n\n  /**\n   *\n   */\n  protected connectAgent = async () => {\n    if (this.state === ConnectionState.Connected) {\n      return;\n    }\n    try {\n      this.talkingConnection = AssistantTalk(\n        this.connectionConfig.streamClient,\n        this.connectionConfig.auth\n      );\n      this.talkingConnection?.on(\"data\", await this.onDataChange);\n      this.talkingConnection?.on(\"end\", await this.onEnd);\n      this.talkingConnection?.on(\"status\", await this.onStatusChange);\n      //\n      await this.setAndEmitConnectionState(ConnectionState.Connected);\n    } catch (err) {\n      console.error(\"error while creating a connection with talking server\");\n    }\n  };\n\n  protected disconnectAgent = async () => {\n    if (this.state !== ConnectionState.Connected) {\n      return;\n    }\n    try {\n      await this.talkingConnection?.end();\n    } catch (error) {\n      // console.error(\"Error ending talking connection:\", error);\n    }\n  };\n  /**\n   * call it when end of stream\n   */\n  private onEnd = async () => {\n    await this.setAndEmitConnectionState(ConnectionState.Disconnected);\n  };\n\n  // when status change of active connection\n  private onStatusChange = async (s) => {\n    console.log(s);\n  };\n\n  /**\n   *\n   * @param response\n   * @returns\n   */\n  protected onDataChange = async (response: AssistantMessagingResponse) => {\n    if (this.onRecieve) this.onRecieve(response);\n    this.agentConfig.onCallback(response);\n  };\n\n  /**\n   *\n   * @returns\n   */\n  protected getAssistant = async (): Promise<Assistant> => {\n    return new Promise((resolve, reject) => {\n      GetAssistant(\n        this.connectionConfig,\n        this.agentConfig.id,\n        this.agentConfig.version || null,\n        (err: ServiceError | null, response: GetAssistantResponse | null) => {\n          if (err) {\n            reject(err);\n          } else if (response && response.getData()) {\n            resolve(response.getData()!);\n          } else {\n            reject(new Error(\"No response received\"));\n          }\n        },\n        this.connectionConfig.auth\n      );\n    });\n  };\n  /**\n   *\n   * @param response\n   */\n  onRecieve(_: AssistantMessagingResponse) {\n    console.warn(\"no recieve method registered\");\n  }\n}\n","const URLCache = new Map<string, string>();\n\nexport function createWorkletModuleLoader(name: string, sourceCode: string) {\n  return async (worklet: AudioWorklet) => {\n    const url = URLCache.get(name);\n    if (url) {\n      return worklet.addModule(url);\n    }\n\n    const blob = new Blob([sourceCode], { type: \"application/javascript\" });\n    const blobURL = URL.createObjectURL(blob);\n    try {\n      await worklet.addModule(blobURL);\n      URLCache.set(name, blobURL);\n      return;\n    } catch {\n      URL.revokeObjectURL(blobURL);\n    }\n\n    try {\n      // Attempting to start a conversation in Safari inside an iframe will\n      // throw a CORS error because the blob:// protocol is considered\n      // cross-origin. In such cases, fall back to using a base64 data URL:\n      const base64 = btoa(sourceCode);\n      const moduleURL = `data:application/javascript;base64,${base64}`;\n      await worklet.addModule(moduleURL);\n      URLCache.set(name, moduleURL);\n    } catch (error) {\n      throw new Error(\n        `Failed to load the ${name} worklet module. Make sure the browser supports AudioWorklets.`\n      );\n    }\n  };\n}\n","/*\n * ulaw encoding logic taken from the wavefile library\n * https://github.com/rochars/wavefile/blob/master/lib/codecs/mulaw.js\n */\n\nimport { createWorkletModuleLoader } from \"./create-worklet-module-loader\";\n\nexport const loadRawAudioProcessor = createWorkletModuleLoader(\n  \"raw-audio-processor\",\n  // language=JavaScript\n  `\nconst BIAS = 0x84;\nconst CLIP = 32635;\nconst encodeTable = [\n  0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,\n  4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,\n  5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,\n  5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,\n  6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,\n  6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,\n  6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,\n  6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,\n  7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n  7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n  7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n  7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n  7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n  7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n  7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n  7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7\n];\n\nfunction encodeSample(sample) {\n  let sign;\n  let exponent;\n  let mantissa;\n  let muLawSample;\n  sign = (sample >> 8) & 0x80;\n  if (sign !== 0) sample = -sample;\n  sample = sample + BIAS;\n  if (sample > CLIP) sample = CLIP;\n  exponent = encodeTable[(sample>>7) & 0xFF];\n  mantissa = (sample >> (exponent+3)) & 0x0F;\n  muLawSample = ~(sign | (exponent << 4) | mantissa);\n  \n  return muLawSample;\n}\n\nclass RawAudioProcessor extends AudioWorkletProcessor {\n  constructor() {\n    super();\n              \n    this.port.onmessage = ({ data }) => {\n      switch (data.type) {\n        case \"setFormat\":\n          this.isMuted = false;\n          this.buffer = []; // Initialize an empty buffer\n          this.bufferSize = data.sampleRate / 4;\n          this.format = data.format;\n\n          if (globalThis.LibSampleRate && sampleRate !== data.sampleRate) {\n            globalThis.LibSampleRate.create(1, sampleRate, data.sampleRate).then(resampler => {\n              this.resampler = resampler;\n            });\n          }\n          break;\n        case \"setMuted\":\n          this.isMuted = data.isMuted;\n          break;\n      }\n    };\n  }\n  process(inputs) {\n    if (!this.buffer) {\n      return true;\n    }\n    \n    const input = inputs[0]; // Get the first input node\n    if (input.length > 0) {\n      let channelData = input[0]; // Get the first channel's data\n\n      // Resample the audio if necessary\n      if (this.resampler) {\n        channelData = this.resampler.full(channelData);\n      }\n\n      // Add channel data to the buffer\n      this.buffer.push(...channelData);\n      // Get max volume \n      let sum = 0.0;\n      for (let i = 0; i < channelData.length; i++) {\n        sum += channelData[i] * channelData[i];\n      }\n      const maxVolume = Math.sqrt(sum / channelData.length);\n      // Check if buffer size has reached or exceeded the threshold\n      if (this.buffer.length >= this.bufferSize) {\n        const float32Array = this.isMuted \n          ? new Float32Array(this.buffer.length)\n          : new Float32Array(this.buffer);\n\n        let encodedArray = this.format === \"ulaw\"\n          ? new Uint8Array(float32Array.length)\n          : new Int16Array(float32Array.length);\n\n        // Iterate through the Float32Array and convert each sample to PCM16\n        for (let i = 0; i < float32Array.length; i++) {\n          // Clamp the value to the range [-1, 1]\n          let sample = Math.max(-1, Math.min(1, float32Array[i]));\n\n          // Scale the sample to the range [-32768, 32767]\n          let value = sample < 0 ? sample * 32768 : sample * 32767;\n          if (this.format === \"ulaw\") {\n            value = encodeSample(Math.round(value));\n          }\n\n          encodedArray[i] = value;\n        }\n\n        // Send the buffered data to the main script\n        this.port.postMessage([encodedArray, maxVolume]);\n\n        // Clear the buffer after sending\n        this.buffer = [];\n      }\n    }\n    return true; // Continue processing\n  }\n}\nregisterProcessor(\"raw-audio-processor\", RawAudioProcessor);\n`\n);\n","import { loadRawAudioProcessor } from \"./raw-audio-processor\";\nimport { RecorderOptions } from \"@/rapida/agents/agent-config\";\n\nconst LIBSAMPLERATE_JS =\n  \"https://cdn.jsdelivr.net/npm/@alexanderolsen/libsamplerate-js@2.1.2/dist/libsamplerate.worklet.js\";\n\nexport class Input {\n  public static async create({\n    sampleRate,\n    format,\n  }: RecorderOptions): Promise<Input> {\n    let context: AudioContext | null = null;\n    let inputStream: MediaStream | null = null;\n\n    try {\n      const options: MediaTrackConstraints = {\n        sampleRate: { ideal: sampleRate },\n        echoCancellation: { ideal: true },\n        noiseSuppression: { ideal: true },\n      };\n\n      const supportsSampleRateConstraint =\n        navigator.mediaDevices.getSupportedConstraints().sampleRate;\n\n      context = new window.AudioContext(\n        supportsSampleRateConstraint ? { sampleRate } : {}\n      );\n      const analyser = context.createAnalyser();\n      if (!supportsSampleRateConstraint) {\n        await context.audioWorklet.addModule(LIBSAMPLERATE_JS);\n      }\n      await loadRawAudioProcessor(context.audioWorklet);\n      inputStream = await navigator.mediaDevices.getUserMedia({\n        audio: options,\n      });\n\n      const source = context.createMediaStreamSource(inputStream);\n      const worklet = new AudioWorkletNode(context, \"raw-audio-processor\");\n      worklet.port.postMessage({ type: \"setFormat\", format, sampleRate });\n\n      source.connect(analyser);\n      analyser.connect(worklet);\n\n      await context.resume();\n\n      return new Input(context, analyser, worklet, inputStream);\n    } catch (error) {\n      inputStream?.getTracks().forEach((track) => track.stop());\n      context?.close();\n      throw error;\n    }\n  }\n\n  private constructor(\n    public readonly context: AudioContext,\n    public readonly analyser: AnalyserNode,\n    public readonly worklet: AudioWorkletNode,\n    public readonly inputStream: MediaStream\n  ) {}\n\n  public async close() {\n    this.inputStream.getTracks().forEach((track) => track.stop());\n    await this.context.close();\n  }\n\n  public setMuted(isMuted: boolean) {\n    this.worklet.port.postMessage({ type: \"setMuted\", isMuted });\n  }\n}\n","/*\n * ulaw decoding logic taken from the wavefile library\n * https://github.com/rochars/wavefile/blob/master/lib/codecs/mulaw.js\n */\n\nimport { createWorkletModuleLoader } from \"./create-worklet-module-loader\";\n\nexport const loadAudioConcatProcessor = createWorkletModuleLoader(\n  \"audio-concat-processor\",\n  // language=JavaScript\n  `\nconst decodeTable = [0,132,396,924,1980,4092,8316,16764];\n\nexport function decodeSample(muLawSample) {\n  let sign;\n  let exponent;\n  let mantissa;\n  let sample;\n  muLawSample = ~muLawSample;\n  sign = (muLawSample & 0x80);\n  exponent = (muLawSample >> 4) & 0x07;\n  mantissa = muLawSample & 0x0F;\n  sample = decodeTable[exponent] + (mantissa << (exponent+3));\n  if (sign !== 0) sample = -sample;\n\n  return sample;\n}\n\nclass AudioConcatProcessor extends AudioWorkletProcessor {\n  constructor() {\n    super();\n    this.buffers = []; // Initialize an empty buffer\n    this.cursor = 0;\n    this.currentBuffer = null;\n    this.wasInterrupted = false;\n    this.finished = false;\n    \n    this.port.onmessage = ({ data }) => {\n      switch (data.type) {\n        case \"setFormat\":\n          this.format = data.format;\n          break;\n        case \"buffer\":\n          this.wasInterrupted = false;\n          this.buffers.push(\n            this.format === \"ulaw\"\n              ? new Uint8Array(data.buffer)\n              : new Int16Array(data.buffer)\n          );\n          break;\n        case \"interrupt\":\n          this.wasInterrupted = true;\n          break;\n        case \"clearInterrupted\":\n          if (this.wasInterrupted) {\n            this.wasInterrupted = false;\n            this.buffers = [];\n            this.currentBuffer = null;\n          }\n      }\n    };\n  }\n  process(_, outputs) {\n    let finished = false;\n    const output = outputs[0][0];\n    for (let i = 0; i < output.length; i++) {\n      if (!this.currentBuffer) {\n        if (this.buffers.length === 0) {\n          finished = true;\n          break;\n        }\n        this.currentBuffer = this.buffers.shift();\n        this.cursor = 0;\n      }\n\n      let value = this.currentBuffer[this.cursor];\n      if (this.format === \"ulaw\") {\n        value = decodeSample(value);\n      }\n      output[i] = value / 32768;\n      this.cursor++;\n\n      if (this.cursor >= this.currentBuffer.length) {\n        this.currentBuffer = null;\n      }\n    }\n\n    if (this.finished !== finished) {\n      this.finished = finished;\n      this.port.postMessage({ type: \"process\", finished });\n    }\n\n    return true; // Continue processing\n  }\n}\n\nregisterProcessor(\"audio-concat-processor\", AudioConcatProcessor);\n`\n);\n","import { PlayerOptions } from \"@/rapida/agents/agent-config\";\nimport { loadAudioConcatProcessor } from \"./audio-concat-processor\";\n\nexport class Output {\n  public static async create({\n    sampleRate,\n    format,\n  }: PlayerOptions): Promise<Output> {\n    let context: AudioContext | null = null;\n    try {\n      context = new AudioContext({ sampleRate });\n      const analyser = context.createAnalyser();\n      const gain = context.createGain();\n      gain.connect(analyser);\n      analyser.connect(context.destination);\n      await loadAudioConcatProcessor(context.audioWorklet);\n      const worklet = new AudioWorkletNode(context, \"audio-concat-processor\");\n      worklet.port.postMessage({ type: \"setFormat\", format });\n      worklet.connect(gain);\n      await context.resume();\n      return new Output(context, analyser, gain, worklet);\n    } catch (error) {\n      context?.close();\n      throw error;\n    }\n  }\n\n  private constructor(\n    public readonly context: AudioContext,\n    public readonly analyser: AnalyserNode,\n    public readonly gain: GainNode,\n    public readonly worklet: AudioWorkletNode\n  ) {}\n\n  public async close() {\n    await this.context.close();\n  }\n}\n","export function isIosDevice() {\n  return (\n    [\n      \"iPad Simulator\",\n      \"iPhone Simulator\",\n      \"iPod Simulator\",\n      \"iPad\",\n      \"iPhone\",\n      \"iPod\",\n    ].includes(navigator.platform) ||\n    // iPad on iOS 13 detection\n    (navigator.userAgent.includes(\"Mac\") && \"ontouchend\" in document)\n  );\n}\n\nexport function isAndroidDevice() {\n  return /android/i.test(navigator.userAgent);\n}\n","/**\n *\n * @param b\n * @returns\n */\nexport function arrayBufferToBase64(b: ArrayBufferLike) {\n  const buffer = new Uint8Array(b);\n  // @ts-ignore\n  const base64Data = window.btoa(String.fromCharCode(...buffer));\n  return base64Data;\n}\n\n/**\n *\n * @param base64\n * @returns\n */\nexport function base64ToArrayBuffer(base64: string): ArrayBuffer {\n  const binaryString = window.atob(base64);\n  const len = binaryString.length;\n  const bytes = new Uint8Array(len);\n  for (let i = 0; i < len; i++) {\n    bytes[i] = binaryString.charCodeAt(i);\n  }\n  return bytes.buffer;\n}\n\n/**\n *\n * @param float32Array\n * @returns\n */\nexport function floatTo16BitPCM(float32Array) {\n  const buffer = new ArrayBuffer(float32Array.length * 2);\n  const view = new DataView(buffer);\n  let offset = 0;\n  for (let i = 0; i < float32Array.length; i++, offset += 2) {\n    let s = Math.max(-1, Math.min(1, float32Array[i]));\n    view.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7fff, true);\n  }\n  return buffer;\n}\n\n/**\n * Converts an ArrayBuffer, Int16Array or Float32Array to a base64 string\n * @param {ArrayBuffer|Int16Array|Float32Array} arrayBuffer\n * @returns {string}\n */\nexport function arrayBufferToUint8(arrayBuffer) {\n  if (arrayBuffer instanceof Float32Array) {\n    arrayBuffer = floatTo16BitPCM(arrayBuffer);\n  } else if (arrayBuffer instanceof Int16Array) {\n    arrayBuffer = arrayBuffer.buffer;\n  }\n  return new Uint8Array(arrayBuffer);\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { VoiceAgent } from \"@/rapida/agents/voice-agent\";\nimport * as React from \"react\";\n\n/** @public */\nexport const VoiceAgentContext = React.createContext<VoiceAgent | undefined>(\n  undefined\n);\n\n/**\n * Ensures that a room is provided via context.\n * If no room is provided, an error is thrown.\n * @public\n */\nexport function useVoiceAgent() {\n  const ctx = React.useContext(VoiceAgentContext);\n  if (!ctx) {\n    throw Error(\"tried to access agent context outside\");\n  }\n  return ctx;\n}\n\n/**\n * Returns the room context if it exists, otherwise undefined.\n * @public\n */\nexport function useMaybeVoiceAgent() {\n  return React.useContext(VoiceAgentContext);\n}\n\n/**\n * Ensures that a room is provided, either via context or explicitly as a parameter.\n * If no room is provided, an error is thrown.\n * @public\n */\nexport function useEnsureVoiceAgent(agent?: VoiceAgent) {\n  const context = useMaybeVoiceAgent();\n  const r = agent ?? context;\n  if (!r) {\n    throw new Error(\n      \"No agent provided, make sure you are inside a agent context or pass the room explicitly\"\n    );\n  }\n  return r;\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { Subject, map, Observable, startWith, finalize, concat } from \"rxjs\";\nimport { VoiceAgent } from \"@/rapida/agents/voice-agent\";\nimport { AgentEvent } from \"@/rapida/events/agent-event\";\nimport { AgentEventCallback } from \"@/rapida/events/agent-event-callback\";\nimport { ConnectionState } from \"@/rapida/connections/connection-state\";\nimport {\n  AssistantConversationAssistantMessage,\n  AssistantConversationConfiguration,\n  AssistantConversationInterruption,\n  AssistantConversationUserMessage,\n} from \"@/rapida/clients/protos/talk-api_pb\";\nimport { AgentServerEvent } from \"@/rapida/events/agent-server-event\";\n\n/**\n *\n * @param agent\n * @param events\n * @returns\n */\nexport function observeVoiceAgentEvents(\n  agent: VoiceAgent,\n  ...events: AgentEvent[]\n): Observable<VoiceAgent> {\n  const observable = new Observable<VoiceAgent>((subscribe) => {\n    const onVoiceAgentUpdate = () => {\n      subscribe.next(agent);\n    };\n\n    events.forEach((evt) => {\n      agent.on(evt, onVoiceAgentUpdate);\n    });\n\n    const unsubscribe = () => {\n      events.forEach((evt) => {\n        agent.off(evt, onVoiceAgentUpdate);\n      });\n    };\n    return unsubscribe;\n  }).pipe(startWith(agent));\n\n  return observable;\n}\n\n/**\n *\n * @param agent\n * @param event\n * @returns\n */\nexport function agentEventSelector<T extends AgentEvent>(\n  agent: VoiceAgent,\n  event: T\n) {\n  const observable = new Observable<Parameters<AgentEventCallback[T]>>(\n    (subscribe) => {\n      const update = (...params: Parameters<AgentEventCallback[T]>) => {\n        subscribe.next(params);\n      };\n      agent.on(event as keyof AgentEventCallback, update);\n      const unsubscribe = () => {\n        agent.off(event as keyof AgentEventCallback, update);\n      };\n      return unsubscribe;\n    }\n  );\n  return observable;\n}\n\n/**\n *\n * @param agent\n * @returns\n */\nexport function agentObserver(agent: VoiceAgent) {\n  const observable = observeVoiceAgentEvents(\n    agent,\n    AgentEvent.ServerEvent,\n    AgentEvent.DataReceived,\n    // swiching channel event\n    AgentEvent.OutputChannelSwitch,\n    AgentEvent.InputChannelSwitch,\n\n    //\n    AgentEvent.ConnectionChanged,\n\n    //\n    AgentEvent.AudioInputMuteToggle,\n    AgentEvent.AudioInputMuteToggle\n  ).pipe(startWith(agent));\n\n  return observable;\n}\n\n/**\n *\n * @param kind\n * @param onError\n * @param requestPermissions\n * @returns\n */\nexport function browserMediaDeviceObserver(\n  kind?: MediaDeviceKind,\n  onError?: (e: Error) => void,\n  requestPermissions = true\n) {\n  const onDeviceChange = async () => {\n    try {\n      const newDevices = await VoiceAgent.getLocalDevices(\n        kind,\n        requestPermissions\n      );\n      deviceSubject.next(newDevices);\n    } catch (e: any) {\n      onError?.(e);\n    }\n  };\n  const deviceSubject = new Subject<MediaDeviceInfo[]>();\n\n  const observable = deviceSubject.pipe(\n    finalize(() => {\n      navigator?.mediaDevices?.removeEventListener(\n        \"devicechange\",\n        onDeviceChange\n      );\n    })\n  );\n\n  if (typeof window !== \"undefined\") {\n    if (!window.isSecureContext) {\n      throw new Error(\n        `Accessing media devices is available only in secure contexts (HTTPS and localhost), in some or all supporting browsers. See: https://developer.mozilla.org/en-US/docs/Web/API/Navigator/mediaDevices`\n      );\n    }\n    navigator?.mediaDevices?.addEventListener(\"devicechange\", onDeviceChange);\n  }\n  // because we rely on an async function, concat the promise to retrieve the initial values with the observable\n  return concat(\n    VoiceAgent.getLocalDevices(kind, requestPermissions).catch((e) => {\n      onError?.(e);\n      return [] as MediaDeviceInfo[];\n    }),\n    observable\n  );\n}\n\nexport function createDataObserver(agent: VoiceAgent) {\n  return agentEventSelector(agent, AgentEvent.DataReceived);\n}\n\n/**\n *\n * @param agent\n * @returns\n */\n\nexport function agentInputMediaDeviceChangeObservable(agent: VoiceAgent) {\n  return agentEventSelector(agent, AgentEvent.InputMediaDeviceChanged).pipe(\n    map(([deviceId]: [string]) => {\n      return deviceId;\n    })\n  );\n}\n\n/**\n * when connection of agent get changed\n * @param agent\n * @returns\n */\nexport function agentConnectionStateObservable(agent: VoiceAgent) {\n  const observable = observeVoiceAgentEvents(\n    agent,\n    AgentEvent.ConnectionChanged\n  ).pipe(\n    map((_a: VoiceAgent) => {\n      return { isConnected: agent.state === ConnectionState.Connected };\n    })\n  );\n  return observable;\n}\n\n/**\n * overserving the input channel\n * @param agent\n * @returns\n */\nexport function agentInputObservable(agent: VoiceAgent) {\n  const observable = observeVoiceAgentEvents(\n    agent,\n    AgentEvent.InputChannelSwitch\n  ).pipe(\n    map((_agent: VoiceAgent) => {\n      return { channel: _agent.inputChannel };\n    })\n  );\n  return observable;\n}\n\n/**\n * overserving the input channel\n * @param agent\n * @returns\n */\nexport function agentInitializeObservable(agent: VoiceAgent) {\n  const observable = observeVoiceAgentEvents(\n    agent,\n    AgentEvent.Initialized\n  ).pipe(\n    map((_agent: VoiceAgent) => {\n      return {\n        deployment: _agent.getDeployment(),\n        assistant: _agent.assistant,\n      };\n    })\n  );\n  return observable;\n}\n\n/**\n *\n * @param agent\n * @returns\n */\nexport function agentMessageChangeEventObserver(agent: VoiceAgent) {\n  const observable = observeVoiceAgentEvents(\n    agent,\n    AgentEvent.ServerEvent,\n    AgentEvent.MessageFeedback\n  ).pipe(\n    map((v) => {\n      return {\n        eventType: v,\n        chats: agent.messages,\n      };\n    }),\n    startWith({\n      eventType: undefined,\n      chats: agent.messages,\n    })\n  );\n  return observable;\n}\n\n/**\n *\n * @param agent\n * @returns\n */\nexport function agentServerEventObserver(agent: VoiceAgent): Observable<{\n  eventType?: AgentServerEvent;\n  argument?:\n    | AssistantConversationConfiguration\n    | AssistantConversationInterruption\n    | AssistantConversationUserMessage\n    | AssistantConversationAssistantMessage;\n}> {\n  const observable = agentEventSelector(agent, AgentEvent.ServerEvent).pipe(\n    map(\n      ([eventType, argument]: [\n        AgentServerEvent,\n        (\n          | AssistantConversationConfiguration\n          | AssistantConversationInterruption\n          | AssistantConversationUserMessage\n          | AssistantConversationAssistantMessage\n        )\n      ]) => {\n        return {\n          eventType: eventType,\n          argument: argument,\n        };\n      }\n    ),\n    startWith({\n      eventType: undefined,\n      argument: undefined,\n    })\n  );\n  return observable;\n}\n"],"mappings":"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","names":["reader","reader","reader","reader","MessageRole","MessageStatus","Channel","ConnectionState","import_common_pb","import_common_pb","import_talk_api_pb","Feedback","import_common_pb","import_common_pb","import_assistant_deployment_pb","selectors","import_talk_api_pb","import_talk_api_pb","import_common_pb"]}