@conduitplatform/grpc-sdk 0.16.25 → 0.17.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/LICENSE +21 -0
  2. package/dist/index.cjs +18092 -14811
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +3388 -0
  5. package/dist/index.d.ts +3308 -21
  6. package/dist/index.esm.js +17840 -14619
  7. package/dist/index.esm.js.map +1 -1
  8. package/dist/module.proto +25 -0
  9. package/package.json +32 -36
  10. package/dist/classes/ConduitAuthorizedResource.d.ts +0 -12
  11. package/dist/classes/ConduitModule.d.ts +0 -28
  12. package/dist/classes/ConduitSchema.d.ts +0 -10
  13. package/dist/classes/Error.d.ts +0 -11
  14. package/dist/classes/HealthCheck.d.ts +0 -1
  15. package/dist/classes/index.d.ts +0 -5
  16. package/dist/constants/enums/PlatformTypesEnum.d.ts +0 -10
  17. package/dist/constants/enums/index.d.ts +0 -1
  18. package/dist/constants/index.d.ts +0 -1
  19. package/dist/interceptors/grpcSignedToken.d.ts +0 -2
  20. package/dist/interceptors/index.d.ts +0 -2
  21. package/dist/interceptors/moduleName.d.ts +0 -2
  22. package/dist/interfaces/ConduitMiddleware.d.ts +0 -7
  23. package/dist/interfaces/ConduitRoute.d.ts +0 -7
  24. package/dist/interfaces/ConduitRouteReturn.d.ts +0 -48
  25. package/dist/interfaces/ConduitSchemaExtension.d.ts +0 -5
  26. package/dist/interfaces/GrpcCallback.d.ts +0 -4
  27. package/dist/interfaces/IConduitLogger.d.ts +0 -13
  28. package/dist/interfaces/IConduitMetrics.d.ts +0 -16
  29. package/dist/interfaces/Indexable.d.ts +0 -9
  30. package/dist/interfaces/Model.d.ts +0 -170
  31. package/dist/interfaces/Params.d.ts +0 -8
  32. package/dist/interfaces/ProxyRoute.d.ts +0 -42
  33. package/dist/interfaces/RawQuery.d.ts +0 -22
  34. package/dist/interfaces/Route.d.ts +0 -71
  35. package/dist/interfaces/Socket.d.ts +0 -22
  36. package/dist/interfaces/UntypedArray.d.ts +0 -1
  37. package/dist/interfaces/index.d.ts +0 -16
  38. package/dist/interfaces/types.d.ts +0 -38
  39. package/dist/modules/admin/index.d.ts +0 -9
  40. package/dist/modules/authentication/index.d.ts +0 -23
  41. package/dist/modules/authorization/index.d.ts +0 -20
  42. package/dist/modules/chat/index.d.ts +0 -9
  43. package/dist/modules/config/index.d.ts +0 -33
  44. package/dist/modules/core/index.d.ts +0 -6
  45. package/dist/modules/database/index.d.ts +0 -63
  46. package/dist/modules/database/types.d.ts +0 -17
  47. package/dist/modules/email/index.d.ts +0 -36
  48. package/dist/modules/index.d.ts +0 -12
  49. package/dist/modules/pushNotifications/index.d.ts +0 -24
  50. package/dist/modules/pushNotifications/types.d.ts +0 -7
  51. package/dist/modules/router/index.d.ts +0 -10
  52. package/dist/modules/sms/index.d.ts +0 -9
  53. package/dist/modules/storage/index.d.ts +0 -24
  54. package/dist/modules/storage/types.d.ts +0 -24
  55. package/dist/protoUtils/authentication.d.ts +0 -665
  56. package/dist/protoUtils/authorization.d.ts +0 -524
  57. package/dist/protoUtils/chat.d.ts +0 -142
  58. package/dist/protoUtils/core.d.ts +0 -569
  59. package/dist/protoUtils/database.d.ts +0 -864
  60. package/dist/protoUtils/email.d.ts +0 -266
  61. package/dist/protoUtils/google/protobuf/empty.d.ts +0 -25
  62. package/dist/protoUtils/grpc_health_check.d.ts +0 -88
  63. package/dist/protoUtils/index.d.ts +0 -12
  64. package/dist/protoUtils/module.d.ts +0 -251
  65. package/dist/protoUtils/push-notifications.d.ts +0 -225
  66. package/dist/protoUtils/router.d.ts +0 -205
  67. package/dist/protoUtils/sms.d.ts +0 -147
  68. package/dist/protoUtils/storage.d.ts +0 -354
  69. package/dist/types/db.d.ts +0 -26
  70. package/dist/types/index.d.ts +0 -28
  71. package/dist/types/options.d.ts +0 -7
  72. package/dist/utilities/EventBus.d.ts +0 -12
  73. package/dist/utilities/RedisManager.d.ts +0 -24
  74. package/dist/utilities/StateManager.d.ts +0 -19
  75. package/dist/utilities/env.d.ts +0 -1
  76. package/dist/utilities/index.d.ts +0 -5
  77. package/dist/utilities/normalizeOptions.d.ts +0 -3
  78. package/dist/utilities/sleep.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/classes/Error.ts","../src/interceptors/moduleName.ts","../src/interceptors/grpcSignedToken.ts","../src/protoUtils/google/protobuf/empty.ts","../src/protoUtils/authentication.ts","../src/protoUtils/authorization.ts","../src/protoUtils/chat.ts","../src/protoUtils/core.ts","../src/protoUtils/database.ts","../src/protoUtils/email.ts","../src/protoUtils/grpc_health_check.ts","../src/protoUtils/module.ts","../src/protoUtils/push-notifications.ts","../src/protoUtils/router.ts","../src/protoUtils/sms.ts","../src/protoUtils/storage.ts","../src/classes/ConduitModule.ts","../src/classes/HealthCheck.ts","../src/classes/ConduitSchema.ts","../src/classes/ConduitAuthorizedResource.ts","../src/utilities/normalizeOptions.ts","../src/modules/storage/index.ts","../src/modules/router/index.ts","../src/modules/email/index.ts","../src/modules/database/index.ts","../src/types/index.ts","../src/modules/config/index.ts","../src/modules/core/index.ts","../src/modules/admin/index.ts","../src/modules/pushNotifications/index.ts","../src/modules/sms/index.ts","../src/modules/chat/index.ts","../src/modules/authorization/index.ts","../src/modules/authentication/index.ts","../src/utilities/env.ts","../src/utilities/sleep.ts","../src/utilities/EventBus.ts","../src/utilities/RedisManager.ts","../src/utilities/StateManager.ts","../src/interfaces/ProxyRoute.ts","../src/interfaces/Route.ts","../src/interfaces/Model.ts","../src/interfaces/ConduitRouteReturn.ts","../src/constants/enums/PlatformTypesEnum.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Metadata","ValidateAccessTokenResponse_Status","isSet","ResourceModificationAcknowledgement_Status","HealthCheckResponse_ServingStatus","EventEmitter","createChannel","createClientFactory","retryMiddleware","isNil","HealthCheckStatus","MetricType","Cluster","Redis","KNOWN_LOCKS","Redlock","ProxyRouteActions","ConduitRouteActions","TYPE","SQLDataType","MongoIndexType","PostgresIndexType","PlatformTypesEnum","createSigner","status"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/index.ts","../src/classes/Error.ts","../src/interceptors/moduleName.ts","../src/interceptors/grpcSignedToken.ts","../src/classes/ConduitModule.ts","../src/protoUtils/authentication.ts","../src/protoUtils/google/protobuf/empty.ts","../src/protoUtils/authorization.ts","../src/protoUtils/chat.ts","../src/protoUtils/communications.ts","../src/protoUtils/core.ts","../src/protoUtils/database.ts","../src/protoUtils/grpc_health_check.ts","../src/protoUtils/module.ts","../src/protoUtils/router.ts","../src/protoUtils/storage.ts","../src/utilities/GrpcSdkContext.ts","../src/classes/HealthCheck.ts","../src/classes/ConduitSchema.ts","../src/classes/ConduitAuthorizedResource.ts","../src/utilities/normalizeOptions.ts","../src/modules/storage/index.ts","../src/modules/router/index.ts","../src/modules/email/index.ts","../src/modules/database/index.ts","../src/modules/config/index.ts","../src/types/index.ts","../src/modules/core/index.ts","../src/modules/admin/index.ts","../src/modules/pushNotifications/index.ts","../src/modules/sms/index.ts","../src/modules/chat/index.ts","../src/modules/authorization/index.ts","../src/modules/authentication/index.ts","../src/modules/communications/index.ts","../src/utilities/env.ts","../src/utilities/sleep.ts","../src/utilities/EventBus.ts","../src/utilities/RedisManager.ts","../src/utilities/StateManager.ts","../src/interfaces/Route.ts","../src/interfaces/Model.ts","../src/interfaces/ConduitRouteReturn.ts","../src/constants/enums/PlatformTypesEnum.ts"],"sourcesContent":["import {\n Admin,\n Authentication,\n Authorization,\n Chat,\n Communications,\n Config,\n Core,\n DatabaseProvider,\n Email,\n PushNotifications,\n Router,\n SMS,\n Storage,\n} from './modules/index.js';\nimport crypto from 'crypto';\nimport {\n EventBus,\n getJsonEnv,\n RedisManager,\n sleep,\n StateManager,\n} from './utilities/index.js';\nimport {\n addMiddleware,\n getInterceptors,\n getLogger,\n getMetrics,\n setLogger,\n setMetrics,\n} from './utilities/GrpcSdkContext.js';\nimport { checkModuleHealth, ConduitModule } from './classes/index.js';\nimport { Client, CompatServiceDefinition } from 'nice-grpc';\nimport { status } from '@grpc/grpc-js';\nimport {\n AwaitPeerOptions,\n GrpcError,\n HealthCheckStatus,\n PeerWatchBatchOptions,\n PeerWatchOptions,\n PeerWatchSpec,\n} from './types/index.js';\nimport { createSigner } from 'fast-jwt';\nimport { ClusterOptions, RedisOptions } from 'ioredis';\nimport { IConduitLogger, IConduitMetrics } from './interfaces/index.js';\nimport {\n ConduitModuleDefinition,\n HealthCheckResponse_ServingStatus,\n HealthDefinition,\n ModuleListResponse_ModuleResponse,\n} from './protoUtils/index.js';\n\ntype UrlRemap = { [url: string]: string };\n\nconst COMMUNICATIONS_LEGACY_MODULES = ['email', 'sms', 'pushNotifications'] as const;\n\nclass ConduitGrpcSdk {\n public readonly name: string;\n public readonly instance: string;\n private readonly serverUrl: string;\n private readonly _watchModules: boolean;\n private readonly _core?: Core;\n private readonly _config?: Config;\n private readonly _admin?: Admin;\n private readonly _modules: { [key: string]: ConduitModule<any> } = {};\n private readonly _availableModules: any = {\n router: Router,\n database: DatabaseProvider,\n storage: Storage,\n email: Email,\n pushNotifications: PushNotifications,\n authentication: Authentication,\n authorization: Authorization,\n sms: SMS,\n chat: Chat,\n communications: Communications,\n };\n private _dynamicModules: { [key: string]: CompatServiceDefinition } = {};\n private _eventBus?: EventBus;\n private _stateManager?: StateManager;\n private lastSearch: number = Date.now();\n private readonly urlRemap?: UrlRemap;\n private readonly _serviceHealthStatusGetter: () => HealthCheckStatus;\n private readonly _grpcToken?: string;\n private _initialized: boolean = false;\n private readonly _moduleMonitorListeners = new Map<string, Set<(s: boolean) => void>>();\n private readonly _communicationsLegacyConnectionStates = new Map<string, boolean>();\n\n constructor(\n serverUrl: string,\n name?: string,\n watchModules = true,\n logger?: IConduitLogger,\n serviceHealthStatusGetter: () => HealthCheckStatus = () => HealthCheckStatus.SERVING,\n ) {\n if (logger) {\n setLogger(logger);\n } else {\n setLogger(console);\n }\n\n if (!name) {\n this.name = 'module_' + crypto.randomBytes(16).toString('hex');\n } else {\n this.name = name;\n }\n this.instance = this.name.startsWith('module_')\n ? this.name.substring(8)\n : crypto.randomBytes(16).toString('hex');\n\n this.urlRemap = getJsonEnv<UrlRemap>(\n 'URL_REMAP',\n process.env.URL_REMAP,\n stringConf => ({\n '*': stringConf,\n }),\n );\n\n this.serverUrl = serverUrl;\n this._watchModules = watchModules;\n this._serviceHealthStatusGetter = serviceHealthStatusGetter;\n if (process.env.GRPC_KEY) {\n const sign = createSigner({ key: process.env.GRPC_KEY });\n this._grpcToken = sign({\n moduleName: this.name,\n });\n }\n }\n\n static get Logger() {\n return getLogger();\n }\n\n static get Sleep() {\n return sleep;\n }\n\n static get Metrics() {\n return getMetrics();\n }\n\n static set Metrics(metrics: IConduitMetrics | undefined) {\n setMetrics(metrics);\n }\n\n static get interceptors() {\n return getInterceptors();\n }\n\n private _redisManager: RedisManager | null = null;\n\n get redisManager(): RedisManager {\n if (this._redisManager) {\n return this._redisManager;\n } else {\n throw new Error('Redis not available');\n }\n }\n\n private _redisDetails?:\n | RedisOptions\n | { nodes: { host: string; port: number }[]; options: ClusterOptions };\n\n get redisDetails():\n | RedisOptions\n | { nodes: { host: string; port: number }[]; options: ClusterOptions } {\n if (this._redisDetails) {\n return this._redisDetails;\n } else {\n throw new Error('Redis not available');\n }\n }\n\n get bus(): EventBus | null {\n if (this._eventBus) {\n return this._eventBus;\n } else {\n ConduitGrpcSdk.Logger.warn('Event bus not initialized');\n return null;\n }\n }\n\n get state(): StateManager | null {\n if (this._stateManager) {\n return this._stateManager;\n } else {\n ConduitGrpcSdk.Logger.warn('State Manager not initialized');\n return null;\n }\n }\n\n get core(): Core {\n return this._core!;\n }\n\n get config(): Config {\n return this._config!;\n }\n\n get admin(): Admin {\n return this._admin!;\n }\n\n get router(): Router | null {\n if (this._modules['router']) {\n return this._modules['router'] as Router;\n } else {\n ConduitGrpcSdk.Logger.warn('Router not up yet!');\n return null;\n }\n }\n\n get database(): DatabaseProvider | null {\n if (this._modules['database']) {\n return this._modules['database'] as DatabaseProvider;\n } else {\n ConduitGrpcSdk.Logger.warn('Database provider not up yet!');\n return null;\n }\n }\n\n get databaseProvider(): DatabaseProvider | null {\n return this.database;\n }\n\n get storage(): Storage | null {\n if (this._modules['storage']) {\n return this._modules['storage'] as Storage;\n } else {\n ConduitGrpcSdk.Logger.warn('Storage module not up yet!');\n return null;\n }\n }\n\n get emailProvider(): Email | null {\n if (this._modules['email']) {\n return this._modules['email'] as Email;\n } else {\n ConduitGrpcSdk.Logger.warn('Email provider not up yet!');\n return null;\n }\n }\n\n get pushNotifications(): PushNotifications | null {\n if (this._modules['pushNotifications']) {\n return this._modules['pushNotifications'] as PushNotifications;\n } else {\n ConduitGrpcSdk.Logger.warn('Push notifications module not up yet!');\n return null;\n }\n }\n\n get authentication(): Authentication | null {\n if (this._modules['authentication']) {\n return this._modules['authentication'] as Authentication;\n } else {\n ConduitGrpcSdk.Logger.warn('Authentication module not up yet!');\n return null;\n }\n }\n\n get authorization(): Authorization | null {\n if (this._modules['authorization']) {\n return this._modules['authorization'] as Authorization;\n } else {\n ConduitGrpcSdk.Logger.warn('Authorization module not up yet!');\n return null;\n }\n }\n\n get sms(): SMS | null {\n if (this._modules['sms']) {\n return this._modules['sms'] as SMS;\n } else {\n ConduitGrpcSdk.Logger.warn('SMS module not up yet!');\n return null;\n }\n }\n\n get chat(): Chat | null {\n if (this._modules['chat']) {\n return this._modules['chat'] as Chat;\n } else {\n ConduitGrpcSdk.Logger.warn('Chat module not up yet!');\n return null;\n }\n }\n\n get grpcToken() {\n return this._grpcToken;\n }\n\n public addMiddleware(middleware: any) {\n addMiddleware(middleware);\n }\n\n async initialize() {\n if (this.name === 'core') {\n return this._initialize();\n }\n (this._core as unknown) = new Core(this.name, this.serverUrl, this._grpcToken);\n await this.connectToCore().catch(() => process.exit(-1));\n this._initialize();\n }\n\n async connectToCore() {\n ConduitGrpcSdk.Logger.log('Waiting for Core...');\n while (true) {\n try {\n this.core.openConnection();\n const state = await this.core.check();\n if ((state as unknown as HealthCheckStatus) === HealthCheckStatus.SERVING) {\n ConduitGrpcSdk.Logger.log('Core connection established');\n return;\n }\n } catch (err) {\n if ((err as GrpcError).code === status.PERMISSION_DENIED) {\n ConduitGrpcSdk.Logger.error(err as Error);\n throw err;\n }\n await sleep(1000);\n }\n }\n }\n\n watchModules() {\n const emitter = this.config.getModuleWatcher();\n this.config.watchModules().then();\n emitter.on('serving-modules-update', modules => {\n const legacySet = new Set<string>(COMMUNICATIONS_LEGACY_MODULES);\n Object.keys(this._modules).forEach(r => {\n if (r === this.name) return;\n if (legacySet.has(r)) return;\n const found = modules.filter(\n (m: ModuleListResponse_ModuleResponse) => m.moduleName === r && m.serving,\n );\n if ((!found || found.length === 0) && this._modules[r]) {\n this._modules[r]?.closeConnection();\n emitter.emit(`module-connection-update:${r}`, false);\n if (r === 'communications') {\n this.syncCommunicationsLegacyClients(false, emitter);\n }\n }\n });\n modules.forEach((m: ModuleListResponse_ModuleResponse) => {\n if (m.moduleName === this.name || !m.serving) return;\n const alreadyActive = this._modules[m.moduleName]?.active;\n if (alreadyActive && m.moduleName !== 'communications') return;\n if (!alreadyActive) {\n if (this._availableModules[m.moduleName] && this._modules[m.moduleName]) {\n this._modules[m.moduleName].openConnection();\n } else {\n this.createModuleClient(m.moduleName, m.url);\n }\n emitter.emit(`module-connection-update:${m.moduleName}`, true);\n }\n if (m.moduleName === 'communications') {\n this.syncCommunicationsLegacyClients(true, emitter, m.url);\n }\n });\n });\n emitter.on('core-status-update', () => {\n this.connectToCore()\n .then(() => {\n this._initialize();\n })\n .catch(() => {\n process.exit(-1);\n });\n });\n }\n\n monitorModule(\n moduleName: string,\n callback: (serving: boolean) => void,\n wait: boolean = true,\n ) {\n const waitPromise = wait ? this.waitForExistence(moduleName) : Promise.resolve();\n waitPromise\n .then(() => this._modules[moduleName]?.healthClient?.check({}))\n .then(res => {\n callback(res?.status === HealthCheckResponse_ServingStatus.SERVING);\n })\n .catch(() => {\n callback(false);\n })\n .then(() => {\n const emitter = this.config.getModuleWatcher();\n const event = `module-connection-update:${moduleName}`;\n emitter.on(event, callback);\n let set = this._moduleMonitorListeners.get(moduleName);\n if (!set) {\n set = new Set();\n this._moduleMonitorListeners.set(moduleName, set);\n }\n set.add(callback);\n });\n }\n\n unmonitorModule(moduleName: string) {\n const emitter = this.config.getModuleWatcher();\n const event = `module-connection-update:${moduleName}`;\n const set = this._moduleMonitorListeners.get(moduleName);\n if (set) {\n for (const cb of set) {\n emitter.off(event, cb);\n }\n this._moduleMonitorListeners.delete(moduleName);\n }\n }\n\n async awaitPeer(moduleName: string, options?: AwaitPeerOptions): Promise<void> {\n const onlyIfServing = options?.onlyIfServing ?? true;\n if (this.isAvailable(moduleName)) return;\n if (options?.timeoutMs != null) {\n await Promise.race([\n this.waitForExistence(moduleName, onlyIfServing),\n sleep(options.timeoutMs).then(() => {\n throw new GrpcError(\n status.DEADLINE_EXCEEDED,\n `awaitPeer(${moduleName}) timed out after ${options.timeoutMs}ms`,\n );\n }),\n ]);\n return;\n }\n await this.waitForExistence(moduleName, onlyIfServing);\n }\n\n watchPeer(\n moduleName: string,\n handler: (serving: boolean) => void,\n options?: PeerWatchOptions,\n ): () => void {\n const edge = options?.edge ?? 'both';\n const dedupe = options?.dedupe ?? (edge === 'rising' || edge === 'falling');\n let last: boolean | undefined;\n const event = `module-connection-update:${moduleName}`;\n const emitter = this.config.getModuleWatcher();\n\n const listener = (serving: boolean) => {\n if (dedupe && last === serving) return;\n let fire = false;\n if (edge === 'both') {\n fire = true;\n } else if (edge === 'rising') {\n fire = serving === true && last !== true;\n } else {\n fire = serving === false && last !== false;\n }\n last = serving;\n if (fire) handler(serving);\n };\n\n let attached = false;\n const attach = () => {\n if (attached) return;\n attached = true;\n emitter.on(event, listener);\n };\n\n if (options?.syncInitialState !== false) {\n Promise.resolve()\n .then(() => this._modules[moduleName]?.healthClient?.check({}))\n .then(res => {\n const serving = res?.status === HealthCheckResponse_ServingStatus.SERVING;\n last = serving;\n let fire = false;\n if (edge === 'both') fire = true;\n else if (edge === 'rising') fire = serving === true;\n else fire = serving === false;\n if (fire) handler(serving);\n })\n .catch(() => {\n last = false;\n if (edge === 'both' || edge === 'falling') handler(false);\n })\n .finally(() => attach());\n } else {\n attach();\n }\n\n return () => {\n emitter.off(event, listener);\n };\n }\n\n oncePeerUp(moduleName: string, callback: () => void | Promise<void>): () => void {\n let done = false;\n const dispose = this.watchPeer(\n moduleName,\n () => {\n if (done) return;\n done = true;\n dispose();\n void Promise.resolve(callback());\n },\n { edge: 'rising', syncInitialState: true },\n );\n return () => {\n if (done) return;\n done = true;\n dispose();\n };\n }\n\n getKnownModuleNames(): string[] {\n return Object.keys(this._availableModules);\n }\n\n watchPeers(\n specs: PeerWatchSpec[],\n handler: (statuses: Record<string, boolean>) => void,\n options?: PeerWatchBatchOptions,\n ): () => void {\n if (specs.length === 0) {\n return () => {};\n }\n const debounceMs = options?.debounceMs ?? 100;\n const syncInitial = options?.syncInitialState !== false;\n const statuses: Record<string, boolean> = {};\n let timer: ReturnType<typeof setTimeout> | null = null;\n const flush = () => {\n timer = null;\n handler({ ...statuses });\n };\n const schedule = () => {\n if (timer) clearTimeout(timer);\n timer = setTimeout(flush, debounceMs);\n };\n\n const disposers = specs.map(spec =>\n this.watchPeer(\n spec.module,\n serving => {\n statuses[spec.module] = serving;\n schedule();\n },\n { edge: spec.edge ?? 'both', syncInitialState: syncInitial },\n ),\n );\n\n return () => {\n for (const d of disposers) {\n d();\n }\n if (timer) clearTimeout(timer);\n };\n }\n\n initializeEventBus(): Promise<EventBus> {\n let promise = Promise.resolve();\n if (process.env.REDIS_CONFIG) {\n this._redisDetails = getJsonEnv('REDIS_CONFIG');\n } else if (process.env.REDIS_HOST && process.env.REDIS_PORT) {\n this._redisDetails = {\n host: process.env.REDIS_HOST!,\n port: parseInt(process.env.REDIS_PORT!, 10),\n db: parseInt(process.env.REDIS_DB!, 10) || 0,\n ...(process.env.REDIS_USERNAME ? { username: process.env.REDIS_USERNAME } : {}),\n ...(process.env.REDIS_PASSWORD ? { password: process.env.REDIS_PASSWORD } : {}),\n };\n } else {\n promise = promise\n .then(() => this.config.getRedisDetails())\n .then(r => {\n if (r.standalone) {\n this._redisDetails = r.standalone;\n } else {\n this._redisDetails = r.cluster!;\n }\n });\n }\n return promise\n .then(() => {\n if (this._redisDetails!.hasOwnProperty('nodes')) {\n this._redisManager = new RedisManager(this._redisDetails);\n } else {\n const redisHost = (this._redisDetails as RedisOptions).host;\n this._redisManager = new RedisManager({\n ...this._redisDetails,\n host: redisHost,\n });\n }\n this._eventBus = new EventBus(this._redisManager);\n this._stateManager = new StateManager(this._redisManager, this.name);\n return this._eventBus;\n })\n .catch((err: Error) => {\n ConduitGrpcSdk.Logger.error('Failed to initialize event bus');\n throw err;\n });\n }\n\n /**\n * Gets all the registered modules from the config and creates clients for them.\n * This will only work on known modules, since the primary usage for the sdk is internal\n */\n initializeModules() {\n return this._config!.moduleList()\n .then(r => {\n const emitter = this.config.getModuleWatcher();\n this.lastSearch = Date.now();\n r.forEach(m => {\n this.createModuleClient(m.moduleName, m.url);\n emitter.emit(`module-connection-update:${m.moduleName}`, m.serving);\n if (m.moduleName === 'communications') {\n this.syncCommunicationsLegacyClients(m.serving, emitter, m.url);\n }\n });\n return 'ok';\n })\n .catch(err => {\n if (err.code !== 5) {\n ConduitGrpcSdk.Logger.error(err);\n }\n });\n }\n\n updateModuleHealth(moduleName: string, serving: boolean) {\n const emitter = this.config.getModuleWatcher();\n emitter.emit(`module-connection-update:${moduleName}`, serving);\n }\n\n createModuleClient(moduleName: string, moduleUrl: string) {\n moduleUrl = this.resolveModuleUrl(moduleUrl);\n if (this._modules[moduleName]) {\n if (moduleName === 'communications') {\n this.createCommunicationsLegacyClients(moduleUrl);\n }\n return;\n }\n if (this._availableModules[moduleName]) {\n ConduitGrpcSdk.Logger.info(`Creating gRPC client for ${moduleName}`);\n this._modules[moduleName] = new this._availableModules[moduleName](\n this.name,\n moduleUrl,\n this._grpcToken,\n );\n } else if (this._dynamicModules[moduleName]) {\n ConduitGrpcSdk.Logger.info(`Creating gRPC client for ${moduleName}`);\n this._modules[moduleName] = new ConduitModule(\n this.name,\n moduleName,\n moduleUrl,\n this._grpcToken,\n );\n this._modules[moduleName].initializeClient(this._dynamicModules[moduleName]);\n } else {\n // when the module is not \"preloaded\" by the sdk, and is not a dynamic module,\n // we create a generic module using the ConduitModuleDefinitions\n this._modules[moduleName] = new ConduitModule(\n this.name,\n moduleName,\n moduleUrl,\n this._grpcToken,\n );\n this._modules[moduleName].initializeClient(ConduitModuleDefinition);\n }\n\n if (moduleName === 'communications') {\n this.createCommunicationsLegacyClients(moduleUrl);\n }\n }\n\n private resolveModuleUrl(moduleUrl: string) {\n return (\n this.urlRemap?.[moduleUrl] ??\n (this.urlRemap?.['*']\n ? `${this.urlRemap['*']}:${moduleUrl.split(':')[1]}`\n : moduleUrl)\n );\n }\n\n private createCommunicationsLegacyClients(moduleUrl: string) {\n for (const legacyModule of COMMUNICATIONS_LEGACY_MODULES) {\n if (!this._modules[legacyModule] && this._availableModules[legacyModule]) {\n ConduitGrpcSdk.Logger.info(`Creating gRPC client for ${legacyModule}`);\n this._modules[legacyModule] = new this._availableModules[legacyModule](\n this.name,\n moduleUrl,\n this._grpcToken,\n );\n }\n }\n }\n\n private syncCommunicationsLegacyClients(\n serving: boolean,\n emitter: ReturnType<Config['getModuleWatcher']>,\n moduleUrl?: string,\n ) {\n if (serving && moduleUrl) {\n this.createCommunicationsLegacyClients(this.resolveModuleUrl(moduleUrl));\n }\n for (const legacyModule of COMMUNICATIONS_LEGACY_MODULES) {\n if (serving) {\n this._modules[legacyModule]?.openConnection();\n } else {\n this._modules[legacyModule]?.closeConnection();\n }\n if (this._communicationsLegacyConnectionStates.get(legacyModule) !== serving) {\n this._communicationsLegacyConnectionStates.set(legacyModule, serving);\n emitter.emit(`module-connection-update:${legacyModule}`, serving);\n }\n }\n }\n\n isModuleUp(moduleName: string, moduleUrl: string, service: string = '') {\n return checkModuleHealth(moduleName, moduleUrl, service, this._grpcToken);\n }\n\n moduleClient(name: string, type: CompatServiceDefinition): void {\n this._dynamicModules[name] = type;\n }\n\n getModule<T extends CompatServiceDefinition>(\n name: string,\n ): ConduitModule<T> | undefined {\n return this._modules[name];\n }\n\n getServiceClient<T extends CompatServiceDefinition>(\n name: string,\n ): Client<T> | undefined {\n return this._modules[name]?.client;\n }\n\n getModuleClient(name: string): Client<ConduitModuleDefinition> | undefined {\n return this._modules[name]?.moduleClient;\n }\n\n getHealthClient<T extends CompatServiceDefinition>(\n name: string,\n ): Client<typeof HealthDefinition> | undefined {\n return this._modules[name]?.healthClient;\n }\n\n isAvailable(moduleName: string) {\n return !!this._modules[moduleName]?.active;\n }\n\n async waitForExistence(moduleName: string, onlyIfServing: boolean = true) {\n if (this.isAvailable(moduleName)) return true;\n const emitter = this.config.getModuleWatcher();\n return new Promise(resolve => {\n const listener = (serving: boolean) => {\n if (!onlyIfServing || (onlyIfServing && serving)) {\n emitter.removeListener(`module-connection-update:${moduleName}`, listener);\n return resolve(true);\n }\n };\n emitter.on(`module-connection-update:${moduleName}`, listener);\n });\n }\n\n onceModuleUp(moduleName: string, callback: () => void) {\n if (this.isAvailable(moduleName)) callback();\n const emitter = this.config.getModuleWatcher();\n emitter.once(`module-connection-update:${moduleName}`, (serving: boolean) =>\n serving ? callback() : null,\n );\n }\n\n onceModuleDown(moduleName: string, callback: () => void) {\n const emitter = this.config.getModuleWatcher();\n emitter.once(`module-connection-update:${moduleName}`, (serving: boolean) =>\n serving ? null : callback(),\n );\n }\n\n /**\n * Used to refresh all modules to check for new registrations\n * @param force If true will check for new modules no matter the interval\n */\n async refreshModules(force?: boolean) {\n if (this.lastSearch < Date.now() - 3000 || force) {\n return this.initializeModules();\n }\n return 'ok';\n }\n\n private _initialize() {\n if (this._initialized) {\n this._config?.openConnection();\n this._admin?.openConnection();\n this.config.watchModules().then();\n return;\n }\n (this._config as unknown) = new Config(\n this.name,\n this.serverUrl,\n this._serviceHealthStatusGetter,\n this._grpcToken,\n );\n (this._admin as unknown) = new Admin(this.name, this.serverUrl, this._grpcToken);\n if (this.name !== 'core') {\n this.initializeModules().then();\n }\n if (this._watchModules) {\n this.watchModules();\n }\n this._initialized = true;\n }\n}\n\nexport { ConduitGrpcSdk };\nexport type { CountDocumentsOptions } from './modules/database/index.js';\nexport type { FindManyOptions, FindOneOptions } from './modules/database/types.js';\nexport * from './interfaces/index.js';\nexport * from './classes/index.js';\nexport * from './modules/index.js';\nexport * from './constants/index.js';\nexport * from './types/index.js';\nexport * from './protoUtils/index.js';\nexport * from '@grpc/grpc-js';\n","export class ConduitError extends Error {\n message: string;\n name: string;\n status: number;\n\n constructor(name: string, status: number, message: string) {\n super(message);\n this.name = name;\n this.message = message;\n this.status = status;\n }\n\n static unauthorized(message: string = 'Unauthorized') {\n return new ConduitError('UNAUTHORIZED', 401, message);\n }\n\n static notFound(message: string = 'Resource not found') {\n return new ConduitError('NOT_FOUND', 404, message);\n }\n\n static forbidden(message: string = 'Forbidden') {\n return new ConduitError('FORBIDDEN', 403, message);\n }\n\n static userInput(message: string = 'Request data are invalid') {\n return new ConduitError('USER_INPUT_ERROR', 400, message);\n }\n\n static internalServerError(message = 'Something went wrong') {\n throw new ConduitError('INTERNAL_SERVER_ERROR', 500, message);\n }\n}\n","import { CallOptions, ClientMiddlewareCall, Metadata } from 'nice-grpc';\n\nexport function getModuleNameInterceptor(moduleName: string) {\n return async function* middleware<Request, Response>(\n call: ClientMiddlewareCall<Request, Response>,\n options: CallOptions,\n ) {\n if (!options.metadata) {\n options.metadata = Metadata();\n }\n options.metadata?.set('module-name', moduleName);\n return yield* call.next(call.request, options);\n };\n}\n","import { CallOptions, ClientMiddlewareCall, Metadata } from 'nice-grpc';\n\nexport function getGrpcSignedTokenInterceptor(grpcToken: string) {\n return async function* middleware<Request, Response>(\n call: ClientMiddlewareCall<Request, Response>,\n options: CallOptions,\n ) {\n if (!options.metadata) {\n options.metadata = Metadata();\n }\n options.metadata?.set('grpc-token', grpcToken);\n return yield* call.next(call.request, options);\n };\n}\n","import {\n getGrpcSignedTokenInterceptor,\n getModuleNameInterceptor,\n} from '../interceptors/index.js';\nimport {\n Channel,\n Client,\n CompatServiceDefinition,\n createChannel,\n createClientFactory,\n} from 'nice-grpc';\nimport { retryMiddleware } from 'nice-grpc-client-middleware-retry';\nimport {\n ConduitModuleDefinition,\n HealthCheckResponse,\n HealthDefinition,\n} from '../protoUtils/index.js';\nimport { EventEmitter } from 'events';\nimport { getInterceptors } from '../utilities/GrpcSdkContext.js';\n\nexport class ConduitModule<T extends CompatServiceDefinition> {\n protected channel?: Channel;\n protected protoPath?: string;\n protected type?: T;\n protected readonly healthCheckEmitter = new EventEmitter();\n\n constructor(\n readonly _clientName: string,\n private readonly _serviceName: string,\n private readonly _serviceUrl: string,\n private readonly _grpcToken?: string,\n ) {}\n\n private _client?: Client<T>;\n\n get client(): Client<T> | undefined {\n return this._client;\n }\n\n private _healthClient?: Client<typeof HealthDefinition>;\n\n get healthClient(): Client<typeof HealthDefinition> | undefined {\n return this._healthClient;\n }\n\n private _moduleClient?: Client<typeof ConduitModuleDefinition>;\n\n get moduleClient(): Client<typeof ConduitModuleDefinition> | undefined {\n return this._moduleClient;\n }\n\n get active(): boolean {\n if (!this.channel) {\n return false;\n }\n const connectivityState = this.channel.getConnectivityState(true);\n return connectivityState === 2 || connectivityState === 1 || connectivityState === 0;\n }\n\n get healthCheckWatcher() {\n return this.healthCheckEmitter;\n }\n\n initializeClient(type: T): Client<T> {\n if (this._client) return this._client;\n this.type = type;\n this.openConnection();\n return this._client!;\n }\n\n openConnection() {\n if (this.channel) {\n // used to make sure a connection attempt is made\n this.channel.getConnectivityState(true);\n return;\n }\n // ConduitGrpcSdk.Logger.log(`Opening connection for ${this._serviceName}`);\n this.channel = createChannel(this._serviceUrl, undefined, {\n 'grpc.max_receive_message_length': 1024 * 1024 * 100,\n 'grpc.max_send_message_length': 1024 * 1024 * 100,\n // round-robin by default to support multiple resolved IPs\n 'grpc.service_config': JSON.stringify({\n loadBalancingConfig: [{ round_robin: {} }],\n }),\n // re-resolve DNS entries every 5s so newly added Pods appear quickly (k8s)\n 'grpc.dns_min_time_between_resolutions_ms': 5000,\n // keepalive pings to detect dead connections (10s idle)\n 'grpc.keepalive_time_ms': 10000,\n });\n let clientFactory = createClientFactory()\n .use(\n this._grpcToken\n ? getGrpcSignedTokenInterceptor(this._grpcToken)\n : getModuleNameInterceptor(this._clientName),\n )\n .use(retryMiddleware);\n for (const interceptor of getInterceptors()) {\n clientFactory = clientFactory.use(interceptor);\n }\n this._client = clientFactory.create(this.type!, this.channel, {\n '*': {\n // https://grpc.github.io/grpc/core/md_doc_statuscodes.html\n retryableStatuses: [1, 10, 14], // handle: cancelled, aborted, unavailable\n retryBaseDelayMs: 250,\n retryMaxAttempts: 5,\n retry: true,\n },\n });\n this._healthClient = clientFactory.create(HealthDefinition, this.channel);\n this._moduleClient = clientFactory.create(ConduitModuleDefinition, this.channel);\n const monitorChannel = () => {\n if (!this.channel) return;\n try {\n const state = this.channel!.getConnectivityState(true);\n this.channel!.watchConnectivityState(state, Infinity, monitorChannel);\n } catch (e) {}\n };\n monitorChannel();\n }\n\n closeConnection() {\n if (!this.channel) return;\n // ConduitGrpcSdk.Logger.warn(`Closing connection for ${this._serviceName}`);\n this.channel.close();\n this.channel = undefined;\n }\n\n check(service: string = '') {\n return this.healthClient!.check({ service }).then((res: HealthCheckResponse) => {\n return res.status;\n });\n }\n\n async watch(service: string = '') {\n const self = this;\n const serviceName = this.type?.name;\n this.healthCheckEmitter.setMaxListeners(150);\n try {\n const call = this.healthClient!.watch({ service });\n for await (const data of call) {\n self.healthCheckEmitter.emit(`grpc-health-change:${serviceName}`, data.status);\n }\n } catch (error) {\n // uncomment for debug when needed\n // currently is misleading if left on\n // ConduitGrpcSdk.Logger.warn('Connection to gRPC server closed');\n }\n }\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.6\n// protoc v5.29.6\n// source: authentication.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport { Empty } from \"./google/protobuf/empty.js\";\n\nexport interface UserLoginRequest {\n userId: string;\n clientId: string;\n}\n\nexport interface UserCreateRequest {\n email: string;\n password?: string | undefined;\n verify: boolean;\n anonymousId?: string | undefined;\n userData?: string | undefined;\n}\n\nexport interface UserCreateByUsernameRequest {\n username: string;\n password?: string | undefined;\n anonymousId?: string | undefined;\n}\n\nexport interface UserChangePass {\n email: string;\n password?: string | undefined;\n}\n\nexport interface UserDeleteRequest {\n userId: string;\n}\n\nexport interface GetTeamRequest {\n teamId?: string | undefined;\n}\n\nexport interface CreateTeamRequest {\n name: string;\n parentTeam?: string | undefined;\n isDefault?: boolean | undefined;\n}\n\nexport interface TeamDeleteRequest {\n teamId: string;\n}\n\nexport interface UserLoginResponse {\n accessToken: string;\n refreshToken?: string | undefined;\n}\n\nexport interface UserDeleteResponse {\n message: string;\n}\n\nexport interface UserCreateResponse {\n password?: string | undefined;\n}\n\nexport interface Team {\n id: string;\n name: string;\n parentTeam: string;\n isDefault: boolean;\n}\n\nexport interface TeamDeleteResponse {\n message: string;\n}\n\nexport interface ModifyTeamMembersRequest {\n teamId: string;\n memberIds: string[];\n}\n\nexport interface ValidateAccessTokenRequest {\n accessToken: string;\n path?: string | undefined;\n}\n\nexport interface ValidateAccessTokenResponse {\n status: ValidateAccessTokenResponse_Status;\n userId?: string | undefined;\n}\n\nexport enum ValidateAccessTokenResponse_Status {\n AUTHENTICATED = 0,\n UNAUTHENTICATED = 1,\n REQUIRES_2FA = 2,\n USER_BLOCKED = 3,\n UNRECOGNIZED = -1,\n}\n\nexport function validateAccessTokenResponse_StatusFromJSON(object: any): ValidateAccessTokenResponse_Status {\n switch (object) {\n case 0:\n case \"AUTHENTICATED\":\n return ValidateAccessTokenResponse_Status.AUTHENTICATED;\n case 1:\n case \"UNAUTHENTICATED\":\n return ValidateAccessTokenResponse_Status.UNAUTHENTICATED;\n case 2:\n case \"REQUIRES_2FA\":\n return ValidateAccessTokenResponse_Status.REQUIRES_2FA;\n case 3:\n case \"USER_BLOCKED\":\n return ValidateAccessTokenResponse_Status.USER_BLOCKED;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return ValidateAccessTokenResponse_Status.UNRECOGNIZED;\n }\n}\n\nexport function validateAccessTokenResponse_StatusToJSON(object: ValidateAccessTokenResponse_Status): string {\n switch (object) {\n case ValidateAccessTokenResponse_Status.AUTHENTICATED:\n return \"AUTHENTICATED\";\n case ValidateAccessTokenResponse_Status.UNAUTHENTICATED:\n return \"UNAUTHENTICATED\";\n case ValidateAccessTokenResponse_Status.REQUIRES_2FA:\n return \"REQUIRES_2FA\";\n case ValidateAccessTokenResponse_Status.USER_BLOCKED:\n return \"USER_BLOCKED\";\n case ValidateAccessTokenResponse_Status.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport interface AnonymousUserCreateRequest {\n clientId: string;\n}\n\nexport interface UserModifyStatusRequest {\n id: string;\n active: boolean;\n}\n\nexport interface UserModifyStatusResponse {\n message: string;\n}\n\nexport interface InvitationDeleteRequest {\n teamId: string;\n email: string;\n}\n\nexport interface InvitationDeleteResponse {\n message: string;\n}\n\nexport interface InviteUserToTeamRequest {\n teamId: string;\n email: string;\n role: string;\n inviterUserId: string;\n redirectUri?: string | undefined;\n userData?: string | undefined;\n}\n\nexport interface InviteUserToTeamResponse {\n invitationToken: string;\n}\n\nexport interface UpdateTeamRequest {\n teamId: string;\n name?: string | undefined;\n newParentTeamId?: string | undefined;\n}\n\nfunction createBaseUserLoginRequest(): UserLoginRequest {\n return { userId: \"\", clientId: \"\" };\n}\n\nexport const UserLoginRequest: MessageFns<UserLoginRequest> = {\n encode(message: UserLoginRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.userId !== \"\") {\n writer.uint32(10).string(message.userId);\n }\n if (message.clientId !== \"\") {\n writer.uint32(18).string(message.clientId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): UserLoginRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseUserLoginRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.userId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): UserLoginRequest {\n return {\n userId: isSet(object.userId) ? globalThis.String(object.userId) : \"\",\n clientId: isSet(object.clientId) ? globalThis.String(object.clientId) : \"\",\n };\n },\n\n toJSON(message: UserLoginRequest): unknown {\n const obj: any = {};\n if (message.userId !== \"\") {\n obj.userId = message.userId;\n }\n if (message.clientId !== \"\") {\n obj.clientId = message.clientId;\n }\n return obj;\n },\n\n create(base?: DeepPartial<UserLoginRequest>): UserLoginRequest {\n return UserLoginRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<UserLoginRequest>): UserLoginRequest {\n const message = createBaseUserLoginRequest();\n message.userId = object.userId ?? \"\";\n message.clientId = object.clientId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseUserCreateRequest(): UserCreateRequest {\n return { email: \"\", password: undefined, verify: false, anonymousId: undefined, userData: undefined };\n}\n\nexport const UserCreateRequest: MessageFns<UserCreateRequest> = {\n encode(message: UserCreateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.email !== \"\") {\n writer.uint32(10).string(message.email);\n }\n if (message.password !== undefined) {\n writer.uint32(18).string(message.password);\n }\n if (message.verify !== false) {\n writer.uint32(24).bool(message.verify);\n }\n if (message.anonymousId !== undefined) {\n writer.uint32(34).string(message.anonymousId);\n }\n if (message.userData !== undefined) {\n writer.uint32(42).string(message.userData);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): UserCreateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseUserCreateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.email = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.password = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.verify = reader.bool();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.anonymousId = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.userData = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): UserCreateRequest {\n return {\n email: isSet(object.email) ? globalThis.String(object.email) : \"\",\n password: isSet(object.password) ? globalThis.String(object.password) : undefined,\n verify: isSet(object.verify) ? globalThis.Boolean(object.verify) : false,\n anonymousId: isSet(object.anonymousId) ? globalThis.String(object.anonymousId) : undefined,\n userData: isSet(object.userData) ? globalThis.String(object.userData) : undefined,\n };\n },\n\n toJSON(message: UserCreateRequest): unknown {\n const obj: any = {};\n if (message.email !== \"\") {\n obj.email = message.email;\n }\n if (message.password !== undefined) {\n obj.password = message.password;\n }\n if (message.verify !== false) {\n obj.verify = message.verify;\n }\n if (message.anonymousId !== undefined) {\n obj.anonymousId = message.anonymousId;\n }\n if (message.userData !== undefined) {\n obj.userData = message.userData;\n }\n return obj;\n },\n\n create(base?: DeepPartial<UserCreateRequest>): UserCreateRequest {\n return UserCreateRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<UserCreateRequest>): UserCreateRequest {\n const message = createBaseUserCreateRequest();\n message.email = object.email ?? \"\";\n message.password = object.password ?? undefined;\n message.verify = object.verify ?? false;\n message.anonymousId = object.anonymousId ?? undefined;\n message.userData = object.userData ?? undefined;\n return message;\n },\n};\n\nfunction createBaseUserCreateByUsernameRequest(): UserCreateByUsernameRequest {\n return { username: \"\", password: undefined, anonymousId: undefined };\n}\n\nexport const UserCreateByUsernameRequest: MessageFns<UserCreateByUsernameRequest> = {\n encode(message: UserCreateByUsernameRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.username !== \"\") {\n writer.uint32(10).string(message.username);\n }\n if (message.password !== undefined) {\n writer.uint32(18).string(message.password);\n }\n if (message.anonymousId !== undefined) {\n writer.uint32(26).string(message.anonymousId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): UserCreateByUsernameRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseUserCreateByUsernameRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.username = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.password = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.anonymousId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): UserCreateByUsernameRequest {\n return {\n username: isSet(object.username) ? globalThis.String(object.username) : \"\",\n password: isSet(object.password) ? globalThis.String(object.password) : undefined,\n anonymousId: isSet(object.anonymousId) ? globalThis.String(object.anonymousId) : undefined,\n };\n },\n\n toJSON(message: UserCreateByUsernameRequest): unknown {\n const obj: any = {};\n if (message.username !== \"\") {\n obj.username = message.username;\n }\n if (message.password !== undefined) {\n obj.password = message.password;\n }\n if (message.anonymousId !== undefined) {\n obj.anonymousId = message.anonymousId;\n }\n return obj;\n },\n\n create(base?: DeepPartial<UserCreateByUsernameRequest>): UserCreateByUsernameRequest {\n return UserCreateByUsernameRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<UserCreateByUsernameRequest>): UserCreateByUsernameRequest {\n const message = createBaseUserCreateByUsernameRequest();\n message.username = object.username ?? \"\";\n message.password = object.password ?? undefined;\n message.anonymousId = object.anonymousId ?? undefined;\n return message;\n },\n};\n\nfunction createBaseUserChangePass(): UserChangePass {\n return { email: \"\", password: undefined };\n}\n\nexport const UserChangePass: MessageFns<UserChangePass> = {\n encode(message: UserChangePass, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.email !== \"\") {\n writer.uint32(10).string(message.email);\n }\n if (message.password !== undefined) {\n writer.uint32(18).string(message.password);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): UserChangePass {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseUserChangePass();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.email = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.password = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): UserChangePass {\n return {\n email: isSet(object.email) ? globalThis.String(object.email) : \"\",\n password: isSet(object.password) ? globalThis.String(object.password) : undefined,\n };\n },\n\n toJSON(message: UserChangePass): unknown {\n const obj: any = {};\n if (message.email !== \"\") {\n obj.email = message.email;\n }\n if (message.password !== undefined) {\n obj.password = message.password;\n }\n return obj;\n },\n\n create(base?: DeepPartial<UserChangePass>): UserChangePass {\n return UserChangePass.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<UserChangePass>): UserChangePass {\n const message = createBaseUserChangePass();\n message.email = object.email ?? \"\";\n message.password = object.password ?? undefined;\n return message;\n },\n};\n\nfunction createBaseUserDeleteRequest(): UserDeleteRequest {\n return { userId: \"\" };\n}\n\nexport const UserDeleteRequest: MessageFns<UserDeleteRequest> = {\n encode(message: UserDeleteRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.userId !== \"\") {\n writer.uint32(10).string(message.userId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): UserDeleteRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseUserDeleteRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.userId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): UserDeleteRequest {\n return { userId: isSet(object.userId) ? globalThis.String(object.userId) : \"\" };\n },\n\n toJSON(message: UserDeleteRequest): unknown {\n const obj: any = {};\n if (message.userId !== \"\") {\n obj.userId = message.userId;\n }\n return obj;\n },\n\n create(base?: DeepPartial<UserDeleteRequest>): UserDeleteRequest {\n return UserDeleteRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<UserDeleteRequest>): UserDeleteRequest {\n const message = createBaseUserDeleteRequest();\n message.userId = object.userId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseGetTeamRequest(): GetTeamRequest {\n return { teamId: undefined };\n}\n\nexport const GetTeamRequest: MessageFns<GetTeamRequest> = {\n encode(message: GetTeamRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.teamId !== undefined) {\n writer.uint32(10).string(message.teamId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetTeamRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetTeamRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.teamId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetTeamRequest {\n return { teamId: isSet(object.teamId) ? globalThis.String(object.teamId) : undefined };\n },\n\n toJSON(message: GetTeamRequest): unknown {\n const obj: any = {};\n if (message.teamId !== undefined) {\n obj.teamId = message.teamId;\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetTeamRequest>): GetTeamRequest {\n return GetTeamRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetTeamRequest>): GetTeamRequest {\n const message = createBaseGetTeamRequest();\n message.teamId = object.teamId ?? undefined;\n return message;\n },\n};\n\nfunction createBaseCreateTeamRequest(): CreateTeamRequest {\n return { name: \"\", parentTeam: undefined, isDefault: undefined };\n}\n\nexport const CreateTeamRequest: MessageFns<CreateTeamRequest> = {\n encode(message: CreateTeamRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.parentTeam !== undefined) {\n writer.uint32(18).string(message.parentTeam);\n }\n if (message.isDefault !== undefined) {\n writer.uint32(24).bool(message.isDefault);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): CreateTeamRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseCreateTeamRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.parentTeam = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.isDefault = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): CreateTeamRequest {\n return {\n name: isSet(object.name) ? globalThis.String(object.name) : \"\",\n parentTeam: isSet(object.parentTeam) ? globalThis.String(object.parentTeam) : undefined,\n isDefault: isSet(object.isDefault) ? globalThis.Boolean(object.isDefault) : undefined,\n };\n },\n\n toJSON(message: CreateTeamRequest): unknown {\n const obj: any = {};\n if (message.name !== \"\") {\n obj.name = message.name;\n }\n if (message.parentTeam !== undefined) {\n obj.parentTeam = message.parentTeam;\n }\n if (message.isDefault !== undefined) {\n obj.isDefault = message.isDefault;\n }\n return obj;\n },\n\n create(base?: DeepPartial<CreateTeamRequest>): CreateTeamRequest {\n return CreateTeamRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<CreateTeamRequest>): CreateTeamRequest {\n const message = createBaseCreateTeamRequest();\n message.name = object.name ?? \"\";\n message.parentTeam = object.parentTeam ?? undefined;\n message.isDefault = object.isDefault ?? undefined;\n return message;\n },\n};\n\nfunction createBaseTeamDeleteRequest(): TeamDeleteRequest {\n return { teamId: \"\" };\n}\n\nexport const TeamDeleteRequest: MessageFns<TeamDeleteRequest> = {\n encode(message: TeamDeleteRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.teamId !== \"\") {\n writer.uint32(10).string(message.teamId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): TeamDeleteRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTeamDeleteRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.teamId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): TeamDeleteRequest {\n return { teamId: isSet(object.teamId) ? globalThis.String(object.teamId) : \"\" };\n },\n\n toJSON(message: TeamDeleteRequest): unknown {\n const obj: any = {};\n if (message.teamId !== \"\") {\n obj.teamId = message.teamId;\n }\n return obj;\n },\n\n create(base?: DeepPartial<TeamDeleteRequest>): TeamDeleteRequest {\n return TeamDeleteRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<TeamDeleteRequest>): TeamDeleteRequest {\n const message = createBaseTeamDeleteRequest();\n message.teamId = object.teamId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseUserLoginResponse(): UserLoginResponse {\n return { accessToken: \"\", refreshToken: undefined };\n}\n\nexport const UserLoginResponse: MessageFns<UserLoginResponse> = {\n encode(message: UserLoginResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.accessToken !== \"\") {\n writer.uint32(10).string(message.accessToken);\n }\n if (message.refreshToken !== undefined) {\n writer.uint32(18).string(message.refreshToken);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): UserLoginResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseUserLoginResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.accessToken = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.refreshToken = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): UserLoginResponse {\n return {\n accessToken: isSet(object.accessToken) ? globalThis.String(object.accessToken) : \"\",\n refreshToken: isSet(object.refreshToken) ? globalThis.String(object.refreshToken) : undefined,\n };\n },\n\n toJSON(message: UserLoginResponse): unknown {\n const obj: any = {};\n if (message.accessToken !== \"\") {\n obj.accessToken = message.accessToken;\n }\n if (message.refreshToken !== undefined) {\n obj.refreshToken = message.refreshToken;\n }\n return obj;\n },\n\n create(base?: DeepPartial<UserLoginResponse>): UserLoginResponse {\n return UserLoginResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<UserLoginResponse>): UserLoginResponse {\n const message = createBaseUserLoginResponse();\n message.accessToken = object.accessToken ?? \"\";\n message.refreshToken = object.refreshToken ?? undefined;\n return message;\n },\n};\n\nfunction createBaseUserDeleteResponse(): UserDeleteResponse {\n return { message: \"\" };\n}\n\nexport const UserDeleteResponse: MessageFns<UserDeleteResponse> = {\n encode(message: UserDeleteResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.message !== \"\") {\n writer.uint32(10).string(message.message);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): UserDeleteResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseUserDeleteResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.message = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): UserDeleteResponse {\n return { message: isSet(object.message) ? globalThis.String(object.message) : \"\" };\n },\n\n toJSON(message: UserDeleteResponse): unknown {\n const obj: any = {};\n if (message.message !== \"\") {\n obj.message = message.message;\n }\n return obj;\n },\n\n create(base?: DeepPartial<UserDeleteResponse>): UserDeleteResponse {\n return UserDeleteResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<UserDeleteResponse>): UserDeleteResponse {\n const message = createBaseUserDeleteResponse();\n message.message = object.message ?? \"\";\n return message;\n },\n};\n\nfunction createBaseUserCreateResponse(): UserCreateResponse {\n return { password: undefined };\n}\n\nexport const UserCreateResponse: MessageFns<UserCreateResponse> = {\n encode(message: UserCreateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.password !== undefined) {\n writer.uint32(10).string(message.password);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): UserCreateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseUserCreateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.password = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): UserCreateResponse {\n return { password: isSet(object.password) ? globalThis.String(object.password) : undefined };\n },\n\n toJSON(message: UserCreateResponse): unknown {\n const obj: any = {};\n if (message.password !== undefined) {\n obj.password = message.password;\n }\n return obj;\n },\n\n create(base?: DeepPartial<UserCreateResponse>): UserCreateResponse {\n return UserCreateResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<UserCreateResponse>): UserCreateResponse {\n const message = createBaseUserCreateResponse();\n message.password = object.password ?? undefined;\n return message;\n },\n};\n\nfunction createBaseTeam(): Team {\n return { id: \"\", name: \"\", parentTeam: \"\", isDefault: false };\n}\n\nexport const Team: MessageFns<Team> = {\n encode(message: Team, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.id !== \"\") {\n writer.uint32(10).string(message.id);\n }\n if (message.name !== \"\") {\n writer.uint32(18).string(message.name);\n }\n if (message.parentTeam !== \"\") {\n writer.uint32(26).string(message.parentTeam);\n }\n if (message.isDefault !== false) {\n writer.uint32(32).bool(message.isDefault);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Team {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTeam();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.parentTeam = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.isDefault = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Team {\n return {\n id: isSet(object.id) ? globalThis.String(object.id) : \"\",\n name: isSet(object.name) ? globalThis.String(object.name) : \"\",\n parentTeam: isSet(object.parentTeam) ? globalThis.String(object.parentTeam) : \"\",\n isDefault: isSet(object.isDefault) ? globalThis.Boolean(object.isDefault) : false,\n };\n },\n\n toJSON(message: Team): unknown {\n const obj: any = {};\n if (message.id !== \"\") {\n obj.id = message.id;\n }\n if (message.name !== \"\") {\n obj.name = message.name;\n }\n if (message.parentTeam !== \"\") {\n obj.parentTeam = message.parentTeam;\n }\n if (message.isDefault !== false) {\n obj.isDefault = message.isDefault;\n }\n return obj;\n },\n\n create(base?: DeepPartial<Team>): Team {\n return Team.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Team>): Team {\n const message = createBaseTeam();\n message.id = object.id ?? \"\";\n message.name = object.name ?? \"\";\n message.parentTeam = object.parentTeam ?? \"\";\n message.isDefault = object.isDefault ?? false;\n return message;\n },\n};\n\nfunction createBaseTeamDeleteResponse(): TeamDeleteResponse {\n return { message: \"\" };\n}\n\nexport const TeamDeleteResponse: MessageFns<TeamDeleteResponse> = {\n encode(message: TeamDeleteResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.message !== \"\") {\n writer.uint32(10).string(message.message);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): TeamDeleteResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTeamDeleteResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.message = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): TeamDeleteResponse {\n return { message: isSet(object.message) ? globalThis.String(object.message) : \"\" };\n },\n\n toJSON(message: TeamDeleteResponse): unknown {\n const obj: any = {};\n if (message.message !== \"\") {\n obj.message = message.message;\n }\n return obj;\n },\n\n create(base?: DeepPartial<TeamDeleteResponse>): TeamDeleteResponse {\n return TeamDeleteResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<TeamDeleteResponse>): TeamDeleteResponse {\n const message = createBaseTeamDeleteResponse();\n message.message = object.message ?? \"\";\n return message;\n },\n};\n\nfunction createBaseModifyTeamMembersRequest(): ModifyTeamMembersRequest {\n return { teamId: \"\", memberIds: [] };\n}\n\nexport const ModifyTeamMembersRequest: MessageFns<ModifyTeamMembersRequest> = {\n encode(message: ModifyTeamMembersRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.teamId !== \"\") {\n writer.uint32(10).string(message.teamId);\n }\n for (const v of message.memberIds) {\n writer.uint32(18).string(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ModifyTeamMembersRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseModifyTeamMembersRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.teamId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.memberIds.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ModifyTeamMembersRequest {\n return {\n teamId: isSet(object.teamId) ? globalThis.String(object.teamId) : \"\",\n memberIds: globalThis.Array.isArray(object?.memberIds)\n ? object.memberIds.map((e: any) => globalThis.String(e))\n : [],\n };\n },\n\n toJSON(message: ModifyTeamMembersRequest): unknown {\n const obj: any = {};\n if (message.teamId !== \"\") {\n obj.teamId = message.teamId;\n }\n if (message.memberIds?.length) {\n obj.memberIds = message.memberIds;\n }\n return obj;\n },\n\n create(base?: DeepPartial<ModifyTeamMembersRequest>): ModifyTeamMembersRequest {\n return ModifyTeamMembersRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ModifyTeamMembersRequest>): ModifyTeamMembersRequest {\n const message = createBaseModifyTeamMembersRequest();\n message.teamId = object.teamId ?? \"\";\n message.memberIds = object.memberIds?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseValidateAccessTokenRequest(): ValidateAccessTokenRequest {\n return { accessToken: \"\", path: undefined };\n}\n\nexport const ValidateAccessTokenRequest: MessageFns<ValidateAccessTokenRequest> = {\n encode(message: ValidateAccessTokenRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.accessToken !== \"\") {\n writer.uint32(10).string(message.accessToken);\n }\n if (message.path !== undefined) {\n writer.uint32(18).string(message.path);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ValidateAccessTokenRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseValidateAccessTokenRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.accessToken = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.path = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ValidateAccessTokenRequest {\n return {\n accessToken: isSet(object.accessToken) ? globalThis.String(object.accessToken) : \"\",\n path: isSet(object.path) ? globalThis.String(object.path) : undefined,\n };\n },\n\n toJSON(message: ValidateAccessTokenRequest): unknown {\n const obj: any = {};\n if (message.accessToken !== \"\") {\n obj.accessToken = message.accessToken;\n }\n if (message.path !== undefined) {\n obj.path = message.path;\n }\n return obj;\n },\n\n create(base?: DeepPartial<ValidateAccessTokenRequest>): ValidateAccessTokenRequest {\n return ValidateAccessTokenRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ValidateAccessTokenRequest>): ValidateAccessTokenRequest {\n const message = createBaseValidateAccessTokenRequest();\n message.accessToken = object.accessToken ?? \"\";\n message.path = object.path ?? undefined;\n return message;\n },\n};\n\nfunction createBaseValidateAccessTokenResponse(): ValidateAccessTokenResponse {\n return { status: 0, userId: undefined };\n}\n\nexport const ValidateAccessTokenResponse: MessageFns<ValidateAccessTokenResponse> = {\n encode(message: ValidateAccessTokenResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.status !== 0) {\n writer.uint32(8).int32(message.status);\n }\n if (message.userId !== undefined) {\n writer.uint32(18).string(message.userId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ValidateAccessTokenResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseValidateAccessTokenResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.status = reader.int32() as any;\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.userId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ValidateAccessTokenResponse {\n return {\n status: isSet(object.status) ? validateAccessTokenResponse_StatusFromJSON(object.status) : 0,\n userId: isSet(object.userId) ? globalThis.String(object.userId) : undefined,\n };\n },\n\n toJSON(message: ValidateAccessTokenResponse): unknown {\n const obj: any = {};\n if (message.status !== 0) {\n obj.status = validateAccessTokenResponse_StatusToJSON(message.status);\n }\n if (message.userId !== undefined) {\n obj.userId = message.userId;\n }\n return obj;\n },\n\n create(base?: DeepPartial<ValidateAccessTokenResponse>): ValidateAccessTokenResponse {\n return ValidateAccessTokenResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ValidateAccessTokenResponse>): ValidateAccessTokenResponse {\n const message = createBaseValidateAccessTokenResponse();\n message.status = object.status ?? 0;\n message.userId = object.userId ?? undefined;\n return message;\n },\n};\n\nfunction createBaseAnonymousUserCreateRequest(): AnonymousUserCreateRequest {\n return { clientId: \"\" };\n}\n\nexport const AnonymousUserCreateRequest: MessageFns<AnonymousUserCreateRequest> = {\n encode(message: AnonymousUserCreateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): AnonymousUserCreateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAnonymousUserCreateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): AnonymousUserCreateRequest {\n return { clientId: isSet(object.clientId) ? globalThis.String(object.clientId) : \"\" };\n },\n\n toJSON(message: AnonymousUserCreateRequest): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.clientId = message.clientId;\n }\n return obj;\n },\n\n create(base?: DeepPartial<AnonymousUserCreateRequest>): AnonymousUserCreateRequest {\n return AnonymousUserCreateRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<AnonymousUserCreateRequest>): AnonymousUserCreateRequest {\n const message = createBaseAnonymousUserCreateRequest();\n message.clientId = object.clientId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseUserModifyStatusRequest(): UserModifyStatusRequest {\n return { id: \"\", active: false };\n}\n\nexport const UserModifyStatusRequest: MessageFns<UserModifyStatusRequest> = {\n encode(message: UserModifyStatusRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.id !== \"\") {\n writer.uint32(10).string(message.id);\n }\n if (message.active !== false) {\n writer.uint32(16).bool(message.active);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): UserModifyStatusRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseUserModifyStatusRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.active = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): UserModifyStatusRequest {\n return {\n id: isSet(object.id) ? globalThis.String(object.id) : \"\",\n active: isSet(object.active) ? globalThis.Boolean(object.active) : false,\n };\n },\n\n toJSON(message: UserModifyStatusRequest): unknown {\n const obj: any = {};\n if (message.id !== \"\") {\n obj.id = message.id;\n }\n if (message.active !== false) {\n obj.active = message.active;\n }\n return obj;\n },\n\n create(base?: DeepPartial<UserModifyStatusRequest>): UserModifyStatusRequest {\n return UserModifyStatusRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<UserModifyStatusRequest>): UserModifyStatusRequest {\n const message = createBaseUserModifyStatusRequest();\n message.id = object.id ?? \"\";\n message.active = object.active ?? false;\n return message;\n },\n};\n\nfunction createBaseUserModifyStatusResponse(): UserModifyStatusResponse {\n return { message: \"\" };\n}\n\nexport const UserModifyStatusResponse: MessageFns<UserModifyStatusResponse> = {\n encode(message: UserModifyStatusResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.message !== \"\") {\n writer.uint32(10).string(message.message);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): UserModifyStatusResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseUserModifyStatusResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.message = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): UserModifyStatusResponse {\n return { message: isSet(object.message) ? globalThis.String(object.message) : \"\" };\n },\n\n toJSON(message: UserModifyStatusResponse): unknown {\n const obj: any = {};\n if (message.message !== \"\") {\n obj.message = message.message;\n }\n return obj;\n },\n\n create(base?: DeepPartial<UserModifyStatusResponse>): UserModifyStatusResponse {\n return UserModifyStatusResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<UserModifyStatusResponse>): UserModifyStatusResponse {\n const message = createBaseUserModifyStatusResponse();\n message.message = object.message ?? \"\";\n return message;\n },\n};\n\nfunction createBaseInvitationDeleteRequest(): InvitationDeleteRequest {\n return { teamId: \"\", email: \"\" };\n}\n\nexport const InvitationDeleteRequest: MessageFns<InvitationDeleteRequest> = {\n encode(message: InvitationDeleteRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.teamId !== \"\") {\n writer.uint32(10).string(message.teamId);\n }\n if (message.email !== \"\") {\n writer.uint32(18).string(message.email);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): InvitationDeleteRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseInvitationDeleteRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.teamId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.email = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): InvitationDeleteRequest {\n return {\n teamId: isSet(object.teamId) ? globalThis.String(object.teamId) : \"\",\n email: isSet(object.email) ? globalThis.String(object.email) : \"\",\n };\n },\n\n toJSON(message: InvitationDeleteRequest): unknown {\n const obj: any = {};\n if (message.teamId !== \"\") {\n obj.teamId = message.teamId;\n }\n if (message.email !== \"\") {\n obj.email = message.email;\n }\n return obj;\n },\n\n create(base?: DeepPartial<InvitationDeleteRequest>): InvitationDeleteRequest {\n return InvitationDeleteRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<InvitationDeleteRequest>): InvitationDeleteRequest {\n const message = createBaseInvitationDeleteRequest();\n message.teamId = object.teamId ?? \"\";\n message.email = object.email ?? \"\";\n return message;\n },\n};\n\nfunction createBaseInvitationDeleteResponse(): InvitationDeleteResponse {\n return { message: \"\" };\n}\n\nexport const InvitationDeleteResponse: MessageFns<InvitationDeleteResponse> = {\n encode(message: InvitationDeleteResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.message !== \"\") {\n writer.uint32(10).string(message.message);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): InvitationDeleteResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseInvitationDeleteResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.message = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): InvitationDeleteResponse {\n return { message: isSet(object.message) ? globalThis.String(object.message) : \"\" };\n },\n\n toJSON(message: InvitationDeleteResponse): unknown {\n const obj: any = {};\n if (message.message !== \"\") {\n obj.message = message.message;\n }\n return obj;\n },\n\n create(base?: DeepPartial<InvitationDeleteResponse>): InvitationDeleteResponse {\n return InvitationDeleteResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<InvitationDeleteResponse>): InvitationDeleteResponse {\n const message = createBaseInvitationDeleteResponse();\n message.message = object.message ?? \"\";\n return message;\n },\n};\n\nfunction createBaseInviteUserToTeamRequest(): InviteUserToTeamRequest {\n return { teamId: \"\", email: \"\", role: \"\", inviterUserId: \"\", redirectUri: undefined, userData: undefined };\n}\n\nexport const InviteUserToTeamRequest: MessageFns<InviteUserToTeamRequest> = {\n encode(message: InviteUserToTeamRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.teamId !== \"\") {\n writer.uint32(10).string(message.teamId);\n }\n if (message.email !== \"\") {\n writer.uint32(18).string(message.email);\n }\n if (message.role !== \"\") {\n writer.uint32(26).string(message.role);\n }\n if (message.inviterUserId !== \"\") {\n writer.uint32(42).string(message.inviterUserId);\n }\n if (message.redirectUri !== undefined) {\n writer.uint32(34).string(message.redirectUri);\n }\n if (message.userData !== undefined) {\n writer.uint32(50).string(message.userData);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): InviteUserToTeamRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseInviteUserToTeamRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.teamId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.email = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.role = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.inviterUserId = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.redirectUri = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.userData = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): InviteUserToTeamRequest {\n return {\n teamId: isSet(object.teamId) ? globalThis.String(object.teamId) : \"\",\n email: isSet(object.email) ? globalThis.String(object.email) : \"\",\n role: isSet(object.role) ? globalThis.String(object.role) : \"\",\n inviterUserId: isSet(object.inviterUserId) ? globalThis.String(object.inviterUserId) : \"\",\n redirectUri: isSet(object.redirectUri) ? globalThis.String(object.redirectUri) : undefined,\n userData: isSet(object.userData) ? globalThis.String(object.userData) : undefined,\n };\n },\n\n toJSON(message: InviteUserToTeamRequest): unknown {\n const obj: any = {};\n if (message.teamId !== \"\") {\n obj.teamId = message.teamId;\n }\n if (message.email !== \"\") {\n obj.email = message.email;\n }\n if (message.role !== \"\") {\n obj.role = message.role;\n }\n if (message.inviterUserId !== \"\") {\n obj.inviterUserId = message.inviterUserId;\n }\n if (message.redirectUri !== undefined) {\n obj.redirectUri = message.redirectUri;\n }\n if (message.userData !== undefined) {\n obj.userData = message.userData;\n }\n return obj;\n },\n\n create(base?: DeepPartial<InviteUserToTeamRequest>): InviteUserToTeamRequest {\n return InviteUserToTeamRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<InviteUserToTeamRequest>): InviteUserToTeamRequest {\n const message = createBaseInviteUserToTeamRequest();\n message.teamId = object.teamId ?? \"\";\n message.email = object.email ?? \"\";\n message.role = object.role ?? \"\";\n message.inviterUserId = object.inviterUserId ?? \"\";\n message.redirectUri = object.redirectUri ?? undefined;\n message.userData = object.userData ?? undefined;\n return message;\n },\n};\n\nfunction createBaseInviteUserToTeamResponse(): InviteUserToTeamResponse {\n return { invitationToken: \"\" };\n}\n\nexport const InviteUserToTeamResponse: MessageFns<InviteUserToTeamResponse> = {\n encode(message: InviteUserToTeamResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.invitationToken !== \"\") {\n writer.uint32(10).string(message.invitationToken);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): InviteUserToTeamResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseInviteUserToTeamResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.invitationToken = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): InviteUserToTeamResponse {\n return { invitationToken: isSet(object.invitationToken) ? globalThis.String(object.invitationToken) : \"\" };\n },\n\n toJSON(message: InviteUserToTeamResponse): unknown {\n const obj: any = {};\n if (message.invitationToken !== \"\") {\n obj.invitationToken = message.invitationToken;\n }\n return obj;\n },\n\n create(base?: DeepPartial<InviteUserToTeamResponse>): InviteUserToTeamResponse {\n return InviteUserToTeamResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<InviteUserToTeamResponse>): InviteUserToTeamResponse {\n const message = createBaseInviteUserToTeamResponse();\n message.invitationToken = object.invitationToken ?? \"\";\n return message;\n },\n};\n\nfunction createBaseUpdateTeamRequest(): UpdateTeamRequest {\n return { teamId: \"\", name: undefined, newParentTeamId: undefined };\n}\n\nexport const UpdateTeamRequest: MessageFns<UpdateTeamRequest> = {\n encode(message: UpdateTeamRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.teamId !== \"\") {\n writer.uint32(10).string(message.teamId);\n }\n if (message.name !== undefined) {\n writer.uint32(18).string(message.name);\n }\n if (message.newParentTeamId !== undefined) {\n writer.uint32(26).string(message.newParentTeamId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): UpdateTeamRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseUpdateTeamRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.teamId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.newParentTeamId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): UpdateTeamRequest {\n return {\n teamId: isSet(object.teamId) ? globalThis.String(object.teamId) : \"\",\n name: isSet(object.name) ? globalThis.String(object.name) : undefined,\n newParentTeamId: isSet(object.newParentTeamId) ? globalThis.String(object.newParentTeamId) : undefined,\n };\n },\n\n toJSON(message: UpdateTeamRequest): unknown {\n const obj: any = {};\n if (message.teamId !== \"\") {\n obj.teamId = message.teamId;\n }\n if (message.name !== undefined) {\n obj.name = message.name;\n }\n if (message.newParentTeamId !== undefined) {\n obj.newParentTeamId = message.newParentTeamId;\n }\n return obj;\n },\n\n create(base?: DeepPartial<UpdateTeamRequest>): UpdateTeamRequest {\n return UpdateTeamRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<UpdateTeamRequest>): UpdateTeamRequest {\n const message = createBaseUpdateTeamRequest();\n message.teamId = object.teamId ?? \"\";\n message.name = object.name ?? undefined;\n message.newParentTeamId = object.newParentTeamId ?? undefined;\n return message;\n },\n};\n\nexport type AuthenticationDefinition = typeof AuthenticationDefinition;\nexport const AuthenticationDefinition = {\n name: \"Authentication\",\n fullName: \"authentication.Authentication\",\n methods: {\n userLogin: {\n name: \"UserLogin\",\n requestType: UserLoginRequest as typeof UserLoginRequest,\n requestStream: false,\n responseType: UserLoginResponse as typeof UserLoginResponse,\n responseStream: false,\n options: {},\n },\n userCreate: {\n name: \"UserCreate\",\n requestType: UserCreateRequest as typeof UserCreateRequest,\n requestStream: false,\n responseType: UserCreateResponse as typeof UserCreateResponse,\n responseStream: false,\n options: {},\n },\n userCreateByUsername: {\n name: \"UserCreateByUsername\",\n requestType: UserCreateByUsernameRequest as typeof UserCreateByUsernameRequest,\n requestStream: false,\n responseType: UserCreateResponse as typeof UserCreateResponse,\n responseStream: false,\n options: {},\n },\n userModifyStatus: {\n name: \"UserModifyStatus\",\n requestType: UserModifyStatusRequest as typeof UserModifyStatusRequest,\n requestStream: false,\n responseType: UserModifyStatusResponse as typeof UserModifyStatusResponse,\n responseStream: false,\n options: {},\n },\n anonymousUserCreate: {\n name: \"AnonymousUserCreate\",\n requestType: AnonymousUserCreateRequest as typeof AnonymousUserCreateRequest,\n requestStream: false,\n responseType: UserLoginResponse as typeof UserLoginResponse,\n responseStream: false,\n options: {},\n },\n changePass: {\n name: \"ChangePass\",\n requestType: UserChangePass as typeof UserChangePass,\n requestStream: false,\n responseType: UserCreateResponse as typeof UserCreateResponse,\n responseStream: false,\n options: {},\n },\n userDelete: {\n name: \"UserDelete\",\n requestType: UserDeleteRequest as typeof UserDeleteRequest,\n requestStream: false,\n responseType: UserDeleteResponse as typeof UserDeleteResponse,\n responseStream: false,\n options: {},\n },\n getTeam: {\n name: \"GetTeam\",\n requestType: GetTeamRequest as typeof GetTeamRequest,\n requestStream: false,\n responseType: Team as typeof Team,\n responseStream: false,\n options: {},\n },\n createTeam: {\n name: \"CreateTeam\",\n requestType: CreateTeamRequest as typeof CreateTeamRequest,\n requestStream: false,\n responseType: Team as typeof Team,\n responseStream: false,\n options: {},\n },\n teamDelete: {\n name: \"TeamDelete\",\n requestType: TeamDeleteRequest as typeof TeamDeleteRequest,\n requestStream: false,\n responseType: TeamDeleteResponse as typeof TeamDeleteResponse,\n responseStream: false,\n options: {},\n },\n addTeamMembers: {\n name: \"AddTeamMembers\",\n requestType: ModifyTeamMembersRequest as typeof ModifyTeamMembersRequest,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n removeTeamMembers: {\n name: \"RemoveTeamMembers\",\n requestType: ModifyTeamMembersRequest as typeof ModifyTeamMembersRequest,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n validateAccessToken: {\n name: \"ValidateAccessToken\",\n requestType: ValidateAccessTokenRequest as typeof ValidateAccessTokenRequest,\n requestStream: false,\n responseType: ValidateAccessTokenResponse as typeof ValidateAccessTokenResponse,\n responseStream: false,\n options: {},\n },\n invitationDelete: {\n name: \"InvitationDelete\",\n requestType: InvitationDeleteRequest as typeof InvitationDeleteRequest,\n requestStream: false,\n responseType: InvitationDeleteResponse as typeof InvitationDeleteResponse,\n responseStream: false,\n options: {},\n },\n inviteUserToTeam: {\n name: \"InviteUserToTeam\",\n requestType: InviteUserToTeamRequest as typeof InviteUserToTeamRequest,\n requestStream: false,\n responseType: InviteUserToTeamResponse as typeof InviteUserToTeamResponse,\n responseStream: false,\n options: {},\n },\n updateTeam: {\n name: \"UpdateTeam\",\n requestType: UpdateTeamRequest as typeof UpdateTeamRequest,\n requestStream: false,\n responseType: Team as typeof Team,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.6\n// protoc v5.29.6\n// source: google/protobuf/empty.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\n\n/**\n * A generic empty message that you can re-use to avoid defining duplicated\n * empty messages in your APIs. A typical example is to use it as the request\n * or the response type of an API method. For instance:\n *\n * service Foo {\n * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n * }\n */\nexport interface Empty {\n}\n\nfunction createBaseEmpty(): Empty {\n return {};\n}\n\nexport const Empty: MessageFns<Empty> = {\n encode(_: Empty, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Empty {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseEmpty();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): Empty {\n return {};\n },\n\n toJSON(_: Empty): unknown {\n const obj: any = {};\n return obj;\n },\n\n create(base?: DeepPartial<Empty>): Empty {\n return Empty.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<Empty>): Empty {\n const message = createBaseEmpty();\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nexport interface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.6\n// protoc v5.29.6\n// source: authorization.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport { Empty } from \"./google/protobuf/empty.js\";\n\nexport interface Resource {\n name: string;\n relations: Resource_Relation[];\n permissions: Resource_Permission[];\n version?: number | undefined;\n}\n\nexport interface Resource_Relation {\n name: string;\n resourceType: string[];\n}\n\nexport interface Resource_Permission {\n name: string;\n roles: string[];\n}\n\nexport interface ResourceModificationAcknowledgement {\n status: ResourceModificationAcknowledgement_Status;\n}\n\nexport enum ResourceModificationAcknowledgement_Status {\n PROCESSED = 0,\n ACKNOWLEDGED = 1,\n IGNORED = 2,\n UNRECOGNIZED = -1,\n}\n\nexport function resourceModificationAcknowledgement_StatusFromJSON(\n object: any,\n): ResourceModificationAcknowledgement_Status {\n switch (object) {\n case 0:\n case \"PROCESSED\":\n return ResourceModificationAcknowledgement_Status.PROCESSED;\n case 1:\n case \"ACKNOWLEDGED\":\n return ResourceModificationAcknowledgement_Status.ACKNOWLEDGED;\n case 2:\n case \"IGNORED\":\n return ResourceModificationAcknowledgement_Status.IGNORED;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return ResourceModificationAcknowledgement_Status.UNRECOGNIZED;\n }\n}\n\nexport function resourceModificationAcknowledgement_StatusToJSON(\n object: ResourceModificationAcknowledgement_Status,\n): string {\n switch (object) {\n case ResourceModificationAcknowledgement_Status.PROCESSED:\n return \"PROCESSED\";\n case ResourceModificationAcknowledgement_Status.ACKNOWLEDGED:\n return \"ACKNOWLEDGED\";\n case ResourceModificationAcknowledgement_Status.IGNORED:\n return \"IGNORED\";\n case ResourceModificationAcknowledgement_Status.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nexport interface Relation {\n subject: string;\n relation: string;\n resource: string;\n}\n\nexport interface CreateRelationsRequest {\n subject: string;\n relation: string;\n resources: string[];\n}\n\nexport interface DeleteAllRelationsRequest {\n subject?: string | undefined;\n resource?: string | undefined;\n}\n\nexport interface DeleteResourceRequest {\n name: string;\n}\n\nexport interface FindRelationRequest {\n subject?: string | undefined;\n relation?: string | undefined;\n resource?: string | undefined;\n subjectType?: string | undefined;\n resourceType?: string | undefined;\n skip?: number | undefined;\n limit?: number | undefined;\n}\n\nexport interface FindRelationResponse {\n relations: Relation[];\n count: number;\n}\n\nexport interface AllowedResourcesRequest {\n subject: string;\n action: string;\n resourceType: string;\n skip: number;\n limit: number;\n}\n\nexport interface AllowedResourcesResponse {\n resources: string[];\n count: number;\n}\n\nexport interface ResourceAccessListRequest {\n subject: string;\n action: string;\n viewName?: string | undefined;\n resourceType: string;\n}\n\nexport interface ResourceAccessListResponse {\n viewName: string;\n}\n\nexport interface PermissionCheck {\n subject: string;\n actions: string[];\n resource: string;\n}\n\nexport interface PermissionRequest {\n subject: string;\n action: string;\n resource: string;\n}\n\nexport interface Decision {\n allow: boolean;\n}\n\nfunction createBaseResource(): Resource {\n return { name: \"\", relations: [], permissions: [], version: undefined };\n}\n\nexport const Resource: MessageFns<Resource> = {\n encode(message: Resource, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n for (const v of message.relations) {\n Resource_Relation.encode(v!, writer.uint32(18).fork()).join();\n }\n for (const v of message.permissions) {\n Resource_Permission.encode(v!, writer.uint32(26).fork()).join();\n }\n if (message.version !== undefined) {\n writer.uint32(32).uint32(message.version);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Resource {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseResource();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.relations.push(Resource_Relation.decode(reader, reader.uint32()));\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.permissions.push(Resource_Permission.decode(reader, reader.uint32()));\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.version = reader.uint32();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Resource {\n return {\n name: isSet(object.name) ? globalThis.String(object.name) : \"\",\n relations: globalThis.Array.isArray(object?.relations)\n ? object.relations.map((e: any) => Resource_Relation.fromJSON(e))\n : [],\n permissions: globalThis.Array.isArray(object?.permissions)\n ? object.permissions.map((e: any) => Resource_Permission.fromJSON(e))\n : [],\n version: isSet(object.version) ? globalThis.Number(object.version) : undefined,\n };\n },\n\n toJSON(message: Resource): unknown {\n const obj: any = {};\n if (message.name !== \"\") {\n obj.name = message.name;\n }\n if (message.relations?.length) {\n obj.relations = message.relations.map((e) => Resource_Relation.toJSON(e));\n }\n if (message.permissions?.length) {\n obj.permissions = message.permissions.map((e) => Resource_Permission.toJSON(e));\n }\n if (message.version !== undefined) {\n obj.version = Math.round(message.version);\n }\n return obj;\n },\n\n create(base?: DeepPartial<Resource>): Resource {\n return Resource.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Resource>): Resource {\n const message = createBaseResource();\n message.name = object.name ?? \"\";\n message.relations = object.relations?.map((e) => Resource_Relation.fromPartial(e)) || [];\n message.permissions = object.permissions?.map((e) => Resource_Permission.fromPartial(e)) || [];\n message.version = object.version ?? undefined;\n return message;\n },\n};\n\nfunction createBaseResource_Relation(): Resource_Relation {\n return { name: \"\", resourceType: [] };\n}\n\nexport const Resource_Relation: MessageFns<Resource_Relation> = {\n encode(message: Resource_Relation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n for (const v of message.resourceType) {\n writer.uint32(18).string(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Resource_Relation {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseResource_Relation();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.resourceType.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Resource_Relation {\n return {\n name: isSet(object.name) ? globalThis.String(object.name) : \"\",\n resourceType: globalThis.Array.isArray(object?.resourceType)\n ? object.resourceType.map((e: any) => globalThis.String(e))\n : [],\n };\n },\n\n toJSON(message: Resource_Relation): unknown {\n const obj: any = {};\n if (message.name !== \"\") {\n obj.name = message.name;\n }\n if (message.resourceType?.length) {\n obj.resourceType = message.resourceType;\n }\n return obj;\n },\n\n create(base?: DeepPartial<Resource_Relation>): Resource_Relation {\n return Resource_Relation.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Resource_Relation>): Resource_Relation {\n const message = createBaseResource_Relation();\n message.name = object.name ?? \"\";\n message.resourceType = object.resourceType?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseResource_Permission(): Resource_Permission {\n return { name: \"\", roles: [] };\n}\n\nexport const Resource_Permission: MessageFns<Resource_Permission> = {\n encode(message: Resource_Permission, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n for (const v of message.roles) {\n writer.uint32(18).string(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Resource_Permission {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseResource_Permission();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.roles.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Resource_Permission {\n return {\n name: isSet(object.name) ? globalThis.String(object.name) : \"\",\n roles: globalThis.Array.isArray(object?.roles) ? object.roles.map((e: any) => globalThis.String(e)) : [],\n };\n },\n\n toJSON(message: Resource_Permission): unknown {\n const obj: any = {};\n if (message.name !== \"\") {\n obj.name = message.name;\n }\n if (message.roles?.length) {\n obj.roles = message.roles;\n }\n return obj;\n },\n\n create(base?: DeepPartial<Resource_Permission>): Resource_Permission {\n return Resource_Permission.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Resource_Permission>): Resource_Permission {\n const message = createBaseResource_Permission();\n message.name = object.name ?? \"\";\n message.roles = object.roles?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseResourceModificationAcknowledgement(): ResourceModificationAcknowledgement {\n return { status: 0 };\n}\n\nexport const ResourceModificationAcknowledgement: MessageFns<ResourceModificationAcknowledgement> = {\n encode(message: ResourceModificationAcknowledgement, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.status !== 0) {\n writer.uint32(8).int32(message.status);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ResourceModificationAcknowledgement {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseResourceModificationAcknowledgement();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.status = reader.int32() as any;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ResourceModificationAcknowledgement {\n return { status: isSet(object.status) ? resourceModificationAcknowledgement_StatusFromJSON(object.status) : 0 };\n },\n\n toJSON(message: ResourceModificationAcknowledgement): unknown {\n const obj: any = {};\n if (message.status !== 0) {\n obj.status = resourceModificationAcknowledgement_StatusToJSON(message.status);\n }\n return obj;\n },\n\n create(base?: DeepPartial<ResourceModificationAcknowledgement>): ResourceModificationAcknowledgement {\n return ResourceModificationAcknowledgement.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ResourceModificationAcknowledgement>): ResourceModificationAcknowledgement {\n const message = createBaseResourceModificationAcknowledgement();\n message.status = object.status ?? 0;\n return message;\n },\n};\n\nfunction createBaseRelation(): Relation {\n return { subject: \"\", relation: \"\", resource: \"\" };\n}\n\nexport const Relation: MessageFns<Relation> = {\n encode(message: Relation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.subject !== \"\") {\n writer.uint32(10).string(message.subject);\n }\n if (message.relation !== \"\") {\n writer.uint32(18).string(message.relation);\n }\n if (message.resource !== \"\") {\n writer.uint32(26).string(message.resource);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Relation {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRelation();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.subject = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.relation = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.resource = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Relation {\n return {\n subject: isSet(object.subject) ? globalThis.String(object.subject) : \"\",\n relation: isSet(object.relation) ? globalThis.String(object.relation) : \"\",\n resource: isSet(object.resource) ? globalThis.String(object.resource) : \"\",\n };\n },\n\n toJSON(message: Relation): unknown {\n const obj: any = {};\n if (message.subject !== \"\") {\n obj.subject = message.subject;\n }\n if (message.relation !== \"\") {\n obj.relation = message.relation;\n }\n if (message.resource !== \"\") {\n obj.resource = message.resource;\n }\n return obj;\n },\n\n create(base?: DeepPartial<Relation>): Relation {\n return Relation.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Relation>): Relation {\n const message = createBaseRelation();\n message.subject = object.subject ?? \"\";\n message.relation = object.relation ?? \"\";\n message.resource = object.resource ?? \"\";\n return message;\n },\n};\n\nfunction createBaseCreateRelationsRequest(): CreateRelationsRequest {\n return { subject: \"\", relation: \"\", resources: [] };\n}\n\nexport const CreateRelationsRequest: MessageFns<CreateRelationsRequest> = {\n encode(message: CreateRelationsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.subject !== \"\") {\n writer.uint32(10).string(message.subject);\n }\n if (message.relation !== \"\") {\n writer.uint32(18).string(message.relation);\n }\n for (const v of message.resources) {\n writer.uint32(26).string(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): CreateRelationsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseCreateRelationsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.subject = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.relation = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.resources.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): CreateRelationsRequest {\n return {\n subject: isSet(object.subject) ? globalThis.String(object.subject) : \"\",\n relation: isSet(object.relation) ? globalThis.String(object.relation) : \"\",\n resources: globalThis.Array.isArray(object?.resources)\n ? object.resources.map((e: any) => globalThis.String(e))\n : [],\n };\n },\n\n toJSON(message: CreateRelationsRequest): unknown {\n const obj: any = {};\n if (message.subject !== \"\") {\n obj.subject = message.subject;\n }\n if (message.relation !== \"\") {\n obj.relation = message.relation;\n }\n if (message.resources?.length) {\n obj.resources = message.resources;\n }\n return obj;\n },\n\n create(base?: DeepPartial<CreateRelationsRequest>): CreateRelationsRequest {\n return CreateRelationsRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<CreateRelationsRequest>): CreateRelationsRequest {\n const message = createBaseCreateRelationsRequest();\n message.subject = object.subject ?? \"\";\n message.relation = object.relation ?? \"\";\n message.resources = object.resources?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseDeleteAllRelationsRequest(): DeleteAllRelationsRequest {\n return { subject: undefined, resource: undefined };\n}\n\nexport const DeleteAllRelationsRequest: MessageFns<DeleteAllRelationsRequest> = {\n encode(message: DeleteAllRelationsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.subject !== undefined) {\n writer.uint32(10).string(message.subject);\n }\n if (message.resource !== undefined) {\n writer.uint32(18).string(message.resource);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): DeleteAllRelationsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDeleteAllRelationsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.subject = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.resource = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): DeleteAllRelationsRequest {\n return {\n subject: isSet(object.subject) ? globalThis.String(object.subject) : undefined,\n resource: isSet(object.resource) ? globalThis.String(object.resource) : undefined,\n };\n },\n\n toJSON(message: DeleteAllRelationsRequest): unknown {\n const obj: any = {};\n if (message.subject !== undefined) {\n obj.subject = message.subject;\n }\n if (message.resource !== undefined) {\n obj.resource = message.resource;\n }\n return obj;\n },\n\n create(base?: DeepPartial<DeleteAllRelationsRequest>): DeleteAllRelationsRequest {\n return DeleteAllRelationsRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<DeleteAllRelationsRequest>): DeleteAllRelationsRequest {\n const message = createBaseDeleteAllRelationsRequest();\n message.subject = object.subject ?? undefined;\n message.resource = object.resource ?? undefined;\n return message;\n },\n};\n\nfunction createBaseDeleteResourceRequest(): DeleteResourceRequest {\n return { name: \"\" };\n}\n\nexport const DeleteResourceRequest: MessageFns<DeleteResourceRequest> = {\n encode(message: DeleteResourceRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): DeleteResourceRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDeleteResourceRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): DeleteResourceRequest {\n return { name: isSet(object.name) ? globalThis.String(object.name) : \"\" };\n },\n\n toJSON(message: DeleteResourceRequest): unknown {\n const obj: any = {};\n if (message.name !== \"\") {\n obj.name = message.name;\n }\n return obj;\n },\n\n create(base?: DeepPartial<DeleteResourceRequest>): DeleteResourceRequest {\n return DeleteResourceRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<DeleteResourceRequest>): DeleteResourceRequest {\n const message = createBaseDeleteResourceRequest();\n message.name = object.name ?? \"\";\n return message;\n },\n};\n\nfunction createBaseFindRelationRequest(): FindRelationRequest {\n return {\n subject: undefined,\n relation: undefined,\n resource: undefined,\n subjectType: undefined,\n resourceType: undefined,\n skip: undefined,\n limit: undefined,\n };\n}\n\nexport const FindRelationRequest: MessageFns<FindRelationRequest> = {\n encode(message: FindRelationRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.subject !== undefined) {\n writer.uint32(10).string(message.subject);\n }\n if (message.relation !== undefined) {\n writer.uint32(18).string(message.relation);\n }\n if (message.resource !== undefined) {\n writer.uint32(26).string(message.resource);\n }\n if (message.subjectType !== undefined) {\n writer.uint32(34).string(message.subjectType);\n }\n if (message.resourceType !== undefined) {\n writer.uint32(42).string(message.resourceType);\n }\n if (message.skip !== undefined) {\n writer.uint32(48).int32(message.skip);\n }\n if (message.limit !== undefined) {\n writer.uint32(56).int32(message.limit);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): FindRelationRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFindRelationRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.subject = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.relation = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.resource = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.subjectType = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.resourceType = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 48) {\n break;\n }\n\n message.skip = reader.int32();\n continue;\n }\n case 7: {\n if (tag !== 56) {\n break;\n }\n\n message.limit = reader.int32();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): FindRelationRequest {\n return {\n subject: isSet(object.subject) ? globalThis.String(object.subject) : undefined,\n relation: isSet(object.relation) ? globalThis.String(object.relation) : undefined,\n resource: isSet(object.resource) ? globalThis.String(object.resource) : undefined,\n subjectType: isSet(object.subjectType) ? globalThis.String(object.subjectType) : undefined,\n resourceType: isSet(object.resourceType) ? globalThis.String(object.resourceType) : undefined,\n skip: isSet(object.skip) ? globalThis.Number(object.skip) : undefined,\n limit: isSet(object.limit) ? globalThis.Number(object.limit) : undefined,\n };\n },\n\n toJSON(message: FindRelationRequest): unknown {\n const obj: any = {};\n if (message.subject !== undefined) {\n obj.subject = message.subject;\n }\n if (message.relation !== undefined) {\n obj.relation = message.relation;\n }\n if (message.resource !== undefined) {\n obj.resource = message.resource;\n }\n if (message.subjectType !== undefined) {\n obj.subjectType = message.subjectType;\n }\n if (message.resourceType !== undefined) {\n obj.resourceType = message.resourceType;\n }\n if (message.skip !== undefined) {\n obj.skip = Math.round(message.skip);\n }\n if (message.limit !== undefined) {\n obj.limit = Math.round(message.limit);\n }\n return obj;\n },\n\n create(base?: DeepPartial<FindRelationRequest>): FindRelationRequest {\n return FindRelationRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<FindRelationRequest>): FindRelationRequest {\n const message = createBaseFindRelationRequest();\n message.subject = object.subject ?? undefined;\n message.relation = object.relation ?? undefined;\n message.resource = object.resource ?? undefined;\n message.subjectType = object.subjectType ?? undefined;\n message.resourceType = object.resourceType ?? undefined;\n message.skip = object.skip ?? undefined;\n message.limit = object.limit ?? undefined;\n return message;\n },\n};\n\nfunction createBaseFindRelationResponse(): FindRelationResponse {\n return { relations: [], count: 0 };\n}\n\nexport const FindRelationResponse: MessageFns<FindRelationResponse> = {\n encode(message: FindRelationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.relations) {\n Relation.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.count !== 0) {\n writer.uint32(16).int32(message.count);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): FindRelationResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFindRelationResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.relations.push(Relation.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.count = reader.int32();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): FindRelationResponse {\n return {\n relations: globalThis.Array.isArray(object?.relations)\n ? object.relations.map((e: any) => Relation.fromJSON(e))\n : [],\n count: isSet(object.count) ? globalThis.Number(object.count) : 0,\n };\n },\n\n toJSON(message: FindRelationResponse): unknown {\n const obj: any = {};\n if (message.relations?.length) {\n obj.relations = message.relations.map((e) => Relation.toJSON(e));\n }\n if (message.count !== 0) {\n obj.count = Math.round(message.count);\n }\n return obj;\n },\n\n create(base?: DeepPartial<FindRelationResponse>): FindRelationResponse {\n return FindRelationResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<FindRelationResponse>): FindRelationResponse {\n const message = createBaseFindRelationResponse();\n message.relations = object.relations?.map((e) => Relation.fromPartial(e)) || [];\n message.count = object.count ?? 0;\n return message;\n },\n};\n\nfunction createBaseAllowedResourcesRequest(): AllowedResourcesRequest {\n return { subject: \"\", action: \"\", resourceType: \"\", skip: 0, limit: 0 };\n}\n\nexport const AllowedResourcesRequest: MessageFns<AllowedResourcesRequest> = {\n encode(message: AllowedResourcesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.subject !== \"\") {\n writer.uint32(10).string(message.subject);\n }\n if (message.action !== \"\") {\n writer.uint32(18).string(message.action);\n }\n if (message.resourceType !== \"\") {\n writer.uint32(42).string(message.resourceType);\n }\n if (message.skip !== 0) {\n writer.uint32(48).int32(message.skip);\n }\n if (message.limit !== 0) {\n writer.uint32(56).int32(message.limit);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): AllowedResourcesRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAllowedResourcesRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.subject = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.action = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.resourceType = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 48) {\n break;\n }\n\n message.skip = reader.int32();\n continue;\n }\n case 7: {\n if (tag !== 56) {\n break;\n }\n\n message.limit = reader.int32();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): AllowedResourcesRequest {\n return {\n subject: isSet(object.subject) ? globalThis.String(object.subject) : \"\",\n action: isSet(object.action) ? globalThis.String(object.action) : \"\",\n resourceType: isSet(object.resourceType) ? globalThis.String(object.resourceType) : \"\",\n skip: isSet(object.skip) ? globalThis.Number(object.skip) : 0,\n limit: isSet(object.limit) ? globalThis.Number(object.limit) : 0,\n };\n },\n\n toJSON(message: AllowedResourcesRequest): unknown {\n const obj: any = {};\n if (message.subject !== \"\") {\n obj.subject = message.subject;\n }\n if (message.action !== \"\") {\n obj.action = message.action;\n }\n if (message.resourceType !== \"\") {\n obj.resourceType = message.resourceType;\n }\n if (message.skip !== 0) {\n obj.skip = Math.round(message.skip);\n }\n if (message.limit !== 0) {\n obj.limit = Math.round(message.limit);\n }\n return obj;\n },\n\n create(base?: DeepPartial<AllowedResourcesRequest>): AllowedResourcesRequest {\n return AllowedResourcesRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<AllowedResourcesRequest>): AllowedResourcesRequest {\n const message = createBaseAllowedResourcesRequest();\n message.subject = object.subject ?? \"\";\n message.action = object.action ?? \"\";\n message.resourceType = object.resourceType ?? \"\";\n message.skip = object.skip ?? 0;\n message.limit = object.limit ?? 0;\n return message;\n },\n};\n\nfunction createBaseAllowedResourcesResponse(): AllowedResourcesResponse {\n return { resources: [], count: 0 };\n}\n\nexport const AllowedResourcesResponse: MessageFns<AllowedResourcesResponse> = {\n encode(message: AllowedResourcesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.resources) {\n writer.uint32(10).string(v!);\n }\n if (message.count !== 0) {\n writer.uint32(16).int32(message.count);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): AllowedResourcesResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAllowedResourcesResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.resources.push(reader.string());\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.count = reader.int32();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): AllowedResourcesResponse {\n return {\n resources: globalThis.Array.isArray(object?.resources)\n ? object.resources.map((e: any) => globalThis.String(e))\n : [],\n count: isSet(object.count) ? globalThis.Number(object.count) : 0,\n };\n },\n\n toJSON(message: AllowedResourcesResponse): unknown {\n const obj: any = {};\n if (message.resources?.length) {\n obj.resources = message.resources;\n }\n if (message.count !== 0) {\n obj.count = Math.round(message.count);\n }\n return obj;\n },\n\n create(base?: DeepPartial<AllowedResourcesResponse>): AllowedResourcesResponse {\n return AllowedResourcesResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<AllowedResourcesResponse>): AllowedResourcesResponse {\n const message = createBaseAllowedResourcesResponse();\n message.resources = object.resources?.map((e) => e) || [];\n message.count = object.count ?? 0;\n return message;\n },\n};\n\nfunction createBaseResourceAccessListRequest(): ResourceAccessListRequest {\n return { subject: \"\", action: \"\", viewName: undefined, resourceType: \"\" };\n}\n\nexport const ResourceAccessListRequest: MessageFns<ResourceAccessListRequest> = {\n encode(message: ResourceAccessListRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.subject !== \"\") {\n writer.uint32(10).string(message.subject);\n }\n if (message.action !== \"\") {\n writer.uint32(18).string(message.action);\n }\n if (message.viewName !== undefined) {\n writer.uint32(26).string(message.viewName);\n }\n if (message.resourceType !== \"\") {\n writer.uint32(42).string(message.resourceType);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ResourceAccessListRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseResourceAccessListRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.subject = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.action = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.viewName = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.resourceType = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ResourceAccessListRequest {\n return {\n subject: isSet(object.subject) ? globalThis.String(object.subject) : \"\",\n action: isSet(object.action) ? globalThis.String(object.action) : \"\",\n viewName: isSet(object.viewName) ? globalThis.String(object.viewName) : undefined,\n resourceType: isSet(object.resourceType) ? globalThis.String(object.resourceType) : \"\",\n };\n },\n\n toJSON(message: ResourceAccessListRequest): unknown {\n const obj: any = {};\n if (message.subject !== \"\") {\n obj.subject = message.subject;\n }\n if (message.action !== \"\") {\n obj.action = message.action;\n }\n if (message.viewName !== undefined) {\n obj.viewName = message.viewName;\n }\n if (message.resourceType !== \"\") {\n obj.resourceType = message.resourceType;\n }\n return obj;\n },\n\n create(base?: DeepPartial<ResourceAccessListRequest>): ResourceAccessListRequest {\n return ResourceAccessListRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ResourceAccessListRequest>): ResourceAccessListRequest {\n const message = createBaseResourceAccessListRequest();\n message.subject = object.subject ?? \"\";\n message.action = object.action ?? \"\";\n message.viewName = object.viewName ?? undefined;\n message.resourceType = object.resourceType ?? \"\";\n return message;\n },\n};\n\nfunction createBaseResourceAccessListResponse(): ResourceAccessListResponse {\n return { viewName: \"\" };\n}\n\nexport const ResourceAccessListResponse: MessageFns<ResourceAccessListResponse> = {\n encode(message: ResourceAccessListResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.viewName !== \"\") {\n writer.uint32(10).string(message.viewName);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ResourceAccessListResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseResourceAccessListResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.viewName = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ResourceAccessListResponse {\n return { viewName: isSet(object.viewName) ? globalThis.String(object.viewName) : \"\" };\n },\n\n toJSON(message: ResourceAccessListResponse): unknown {\n const obj: any = {};\n if (message.viewName !== \"\") {\n obj.viewName = message.viewName;\n }\n return obj;\n },\n\n create(base?: DeepPartial<ResourceAccessListResponse>): ResourceAccessListResponse {\n return ResourceAccessListResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ResourceAccessListResponse>): ResourceAccessListResponse {\n const message = createBaseResourceAccessListResponse();\n message.viewName = object.viewName ?? \"\";\n return message;\n },\n};\n\nfunction createBasePermissionCheck(): PermissionCheck {\n return { subject: \"\", actions: [], resource: \"\" };\n}\n\nexport const PermissionCheck: MessageFns<PermissionCheck> = {\n encode(message: PermissionCheck, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.subject !== \"\") {\n writer.uint32(10).string(message.subject);\n }\n for (const v of message.actions) {\n writer.uint32(18).string(v!);\n }\n if (message.resource !== \"\") {\n writer.uint32(26).string(message.resource);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): PermissionCheck {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBasePermissionCheck();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.subject = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.actions.push(reader.string());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.resource = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): PermissionCheck {\n return {\n subject: isSet(object.subject) ? globalThis.String(object.subject) : \"\",\n actions: globalThis.Array.isArray(object?.actions) ? object.actions.map((e: any) => globalThis.String(e)) : [],\n resource: isSet(object.resource) ? globalThis.String(object.resource) : \"\",\n };\n },\n\n toJSON(message: PermissionCheck): unknown {\n const obj: any = {};\n if (message.subject !== \"\") {\n obj.subject = message.subject;\n }\n if (message.actions?.length) {\n obj.actions = message.actions;\n }\n if (message.resource !== \"\") {\n obj.resource = message.resource;\n }\n return obj;\n },\n\n create(base?: DeepPartial<PermissionCheck>): PermissionCheck {\n return PermissionCheck.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<PermissionCheck>): PermissionCheck {\n const message = createBasePermissionCheck();\n message.subject = object.subject ?? \"\";\n message.actions = object.actions?.map((e) => e) || [];\n message.resource = object.resource ?? \"\";\n return message;\n },\n};\n\nfunction createBasePermissionRequest(): PermissionRequest {\n return { subject: \"\", action: \"\", resource: \"\" };\n}\n\nexport const PermissionRequest: MessageFns<PermissionRequest> = {\n encode(message: PermissionRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.subject !== \"\") {\n writer.uint32(10).string(message.subject);\n }\n if (message.action !== \"\") {\n writer.uint32(18).string(message.action);\n }\n if (message.resource !== \"\") {\n writer.uint32(26).string(message.resource);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): PermissionRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBasePermissionRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.subject = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.action = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.resource = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): PermissionRequest {\n return {\n subject: isSet(object.subject) ? globalThis.String(object.subject) : \"\",\n action: isSet(object.action) ? globalThis.String(object.action) : \"\",\n resource: isSet(object.resource) ? globalThis.String(object.resource) : \"\",\n };\n },\n\n toJSON(message: PermissionRequest): unknown {\n const obj: any = {};\n if (message.subject !== \"\") {\n obj.subject = message.subject;\n }\n if (message.action !== \"\") {\n obj.action = message.action;\n }\n if (message.resource !== \"\") {\n obj.resource = message.resource;\n }\n return obj;\n },\n\n create(base?: DeepPartial<PermissionRequest>): PermissionRequest {\n return PermissionRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<PermissionRequest>): PermissionRequest {\n const message = createBasePermissionRequest();\n message.subject = object.subject ?? \"\";\n message.action = object.action ?? \"\";\n message.resource = object.resource ?? \"\";\n return message;\n },\n};\n\nfunction createBaseDecision(): Decision {\n return { allow: false };\n}\n\nexport const Decision: MessageFns<Decision> = {\n encode(message: Decision, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.allow !== false) {\n writer.uint32(8).bool(message.allow);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Decision {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDecision();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.allow = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Decision {\n return { allow: isSet(object.allow) ? globalThis.Boolean(object.allow) : false };\n },\n\n toJSON(message: Decision): unknown {\n const obj: any = {};\n if (message.allow !== false) {\n obj.allow = message.allow;\n }\n return obj;\n },\n\n create(base?: DeepPartial<Decision>): Decision {\n return Decision.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Decision>): Decision {\n const message = createBaseDecision();\n message.allow = object.allow ?? false;\n return message;\n },\n};\n\nexport type AuthorizationDefinition = typeof AuthorizationDefinition;\nexport const AuthorizationDefinition = {\n name: \"Authorization\",\n fullName: \"authorization.Authorization\",\n methods: {\n defineResource: {\n name: \"DefineResource\",\n requestType: Resource as typeof Resource,\n requestStream: false,\n responseType: ResourceModificationAcknowledgement as typeof ResourceModificationAcknowledgement,\n responseStream: false,\n options: {},\n },\n deleteResource: {\n name: \"DeleteResource\",\n requestType: DeleteResourceRequest as typeof DeleteResourceRequest,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n updateResource: {\n name: \"UpdateResource\",\n requestType: Resource as typeof Resource,\n requestStream: false,\n responseType: ResourceModificationAcknowledgement as typeof ResourceModificationAcknowledgement,\n responseStream: false,\n options: {},\n },\n createRelation: {\n name: \"CreateRelation\",\n requestType: Relation as typeof Relation,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n createRelations: {\n name: \"CreateRelations\",\n requestType: CreateRelationsRequest as typeof CreateRelationsRequest,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n deleteRelation: {\n name: \"DeleteRelation\",\n requestType: Relation as typeof Relation,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n grantPermission: {\n name: \"GrantPermission\",\n requestType: PermissionRequest as typeof PermissionRequest,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n removePermission: {\n name: \"RemovePermission\",\n requestType: PermissionRequest as typeof PermissionRequest,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n deleteAllRelations: {\n name: \"DeleteAllRelations\",\n requestType: DeleteAllRelationsRequest as typeof DeleteAllRelationsRequest,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n findRelation: {\n name: \"FindRelation\",\n requestType: FindRelationRequest as typeof FindRelationRequest,\n requestStream: false,\n responseType: FindRelationResponse as typeof FindRelationResponse,\n responseStream: false,\n options: {},\n },\n can: {\n name: \"Can\",\n requestType: PermissionCheck as typeof PermissionCheck,\n requestStream: false,\n responseType: Decision as typeof Decision,\n responseStream: false,\n options: {},\n },\n getAllowedResources: {\n name: \"GetAllowedResources\",\n requestType: AllowedResourcesRequest as typeof AllowedResourcesRequest,\n requestStream: false,\n responseType: AllowedResourcesResponse as typeof AllowedResourcesResponse,\n responseStream: false,\n options: {},\n },\n createResourceAccessList: {\n name: \"CreateResourceAccessList\",\n requestType: ResourceAccessListRequest as typeof ResourceAccessListRequest,\n requestStream: false,\n responseType: ResourceAccessListResponse as typeof ResourceAccessListResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.6\n// protoc v5.29.6\n// source: chat.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport { Empty } from \"./google/protobuf/empty.js\";\n\nexport interface CreateRoomRequest {\n name: string;\n participants: string[];\n}\n\nexport interface SendMessageRequest {\n message: string;\n userId: string;\n roomId: string;\n messageType?: string | undefined;\n persist?: boolean | undefined;\n}\n\nexport interface DeleteRoomRequest {\n _id: string;\n}\n\nexport interface Room {\n _id: string;\n name: string;\n participants: string[];\n}\n\nexport interface GetRoomResponse {\n rooms: Room[];\n}\n\nfunction createBaseCreateRoomRequest(): CreateRoomRequest {\n return { name: \"\", participants: [] };\n}\n\nexport const CreateRoomRequest: MessageFns<CreateRoomRequest> = {\n encode(message: CreateRoomRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n for (const v of message.participants) {\n writer.uint32(18).string(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): CreateRoomRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseCreateRoomRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.participants.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): CreateRoomRequest {\n return {\n name: isSet(object.name) ? globalThis.String(object.name) : \"\",\n participants: globalThis.Array.isArray(object?.participants)\n ? object.participants.map((e: any) => globalThis.String(e))\n : [],\n };\n },\n\n toJSON(message: CreateRoomRequest): unknown {\n const obj: any = {};\n if (message.name !== \"\") {\n obj.name = message.name;\n }\n if (message.participants?.length) {\n obj.participants = message.participants;\n }\n return obj;\n },\n\n create(base?: DeepPartial<CreateRoomRequest>): CreateRoomRequest {\n return CreateRoomRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<CreateRoomRequest>): CreateRoomRequest {\n const message = createBaseCreateRoomRequest();\n message.name = object.name ?? \"\";\n message.participants = object.participants?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseSendMessageRequest(): SendMessageRequest {\n return { message: \"\", userId: \"\", roomId: \"\", messageType: undefined, persist: undefined };\n}\n\nexport const SendMessageRequest: MessageFns<SendMessageRequest> = {\n encode(message: SendMessageRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.message !== \"\") {\n writer.uint32(10).string(message.message);\n }\n if (message.userId !== \"\") {\n writer.uint32(18).string(message.userId);\n }\n if (message.roomId !== \"\") {\n writer.uint32(26).string(message.roomId);\n }\n if (message.messageType !== undefined) {\n writer.uint32(34).string(message.messageType);\n }\n if (message.persist !== undefined) {\n writer.uint32(40).bool(message.persist);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendMessageRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendMessageRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.message = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.userId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.roomId = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.messageType = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 40) {\n break;\n }\n\n message.persist = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendMessageRequest {\n return {\n message: isSet(object.message) ? globalThis.String(object.message) : \"\",\n userId: isSet(object.userId) ? globalThis.String(object.userId) : \"\",\n roomId: isSet(object.roomId) ? globalThis.String(object.roomId) : \"\",\n messageType: isSet(object.messageType) ? globalThis.String(object.messageType) : undefined,\n persist: isSet(object.persist) ? globalThis.Boolean(object.persist) : undefined,\n };\n },\n\n toJSON(message: SendMessageRequest): unknown {\n const obj: any = {};\n if (message.message !== \"\") {\n obj.message = message.message;\n }\n if (message.userId !== \"\") {\n obj.userId = message.userId;\n }\n if (message.roomId !== \"\") {\n obj.roomId = message.roomId;\n }\n if (message.messageType !== undefined) {\n obj.messageType = message.messageType;\n }\n if (message.persist !== undefined) {\n obj.persist = message.persist;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendMessageRequest>): SendMessageRequest {\n return SendMessageRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendMessageRequest>): SendMessageRequest {\n const message = createBaseSendMessageRequest();\n message.message = object.message ?? \"\";\n message.userId = object.userId ?? \"\";\n message.roomId = object.roomId ?? \"\";\n message.messageType = object.messageType ?? undefined;\n message.persist = object.persist ?? undefined;\n return message;\n },\n};\n\nfunction createBaseDeleteRoomRequest(): DeleteRoomRequest {\n return { _id: \"\" };\n}\n\nexport const DeleteRoomRequest: MessageFns<DeleteRoomRequest> = {\n encode(message: DeleteRoomRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message._id !== \"\") {\n writer.uint32(10).string(message._id);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): DeleteRoomRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDeleteRoomRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message._id = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): DeleteRoomRequest {\n return {\n _id: isSet(object.Id) ? globalThis.String(object.Id) : isSet(object._id) ? globalThis.String(object._id) : \"\",\n };\n },\n\n toJSON(message: DeleteRoomRequest): unknown {\n const obj: any = {};\n if (message._id !== \"\") {\n obj.Id = message._id;\n }\n return obj;\n },\n\n create(base?: DeepPartial<DeleteRoomRequest>): DeleteRoomRequest {\n return DeleteRoomRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<DeleteRoomRequest>): DeleteRoomRequest {\n const message = createBaseDeleteRoomRequest();\n message._id = object._id ?? \"\";\n return message;\n },\n};\n\nfunction createBaseRoom(): Room {\n return { _id: \"\", name: \"\", participants: [] };\n}\n\nexport const Room: MessageFns<Room> = {\n encode(message: Room, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message._id !== \"\") {\n writer.uint32(10).string(message._id);\n }\n if (message.name !== \"\") {\n writer.uint32(18).string(message.name);\n }\n for (const v of message.participants) {\n writer.uint32(26).string(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Room {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRoom();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message._id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.participants.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Room {\n return {\n _id: isSet(object.Id) ? globalThis.String(object.Id) : isSet(object._id) ? globalThis.String(object._id) : \"\",\n name: isSet(object.name) ? globalThis.String(object.name) : \"\",\n participants: globalThis.Array.isArray(object?.participants)\n ? object.participants.map((e: any) => globalThis.String(e))\n : [],\n };\n },\n\n toJSON(message: Room): unknown {\n const obj: any = {};\n if (message._id !== \"\") {\n obj.Id = message._id;\n }\n if (message.name !== \"\") {\n obj.name = message.name;\n }\n if (message.participants?.length) {\n obj.participants = message.participants;\n }\n return obj;\n },\n\n create(base?: DeepPartial<Room>): Room {\n return Room.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Room>): Room {\n const message = createBaseRoom();\n message._id = object._id ?? \"\";\n message.name = object.name ?? \"\";\n message.participants = object.participants?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseGetRoomResponse(): GetRoomResponse {\n return { rooms: [] };\n}\n\nexport const GetRoomResponse: MessageFns<GetRoomResponse> = {\n encode(message: GetRoomResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.rooms) {\n Room.encode(v!, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetRoomResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetRoomResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.rooms.push(Room.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetRoomResponse {\n return { rooms: globalThis.Array.isArray(object?.rooms) ? object.rooms.map((e: any) => Room.fromJSON(e)) : [] };\n },\n\n toJSON(message: GetRoomResponse): unknown {\n const obj: any = {};\n if (message.rooms?.length) {\n obj.rooms = message.rooms.map((e) => Room.toJSON(e));\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetRoomResponse>): GetRoomResponse {\n return GetRoomResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetRoomResponse>): GetRoomResponse {\n const message = createBaseGetRoomResponse();\n message.rooms = object.rooms?.map((e) => Room.fromPartial(e)) || [];\n return message;\n },\n};\n\nexport type ChatDefinition = typeof ChatDefinition;\nexport const ChatDefinition = {\n name: \"Chat\",\n fullName: \"chat.Chat\",\n methods: {\n createRoom: {\n name: \"CreateRoom\",\n requestType: CreateRoomRequest as typeof CreateRoomRequest,\n requestStream: false,\n responseType: Room as typeof Room,\n responseStream: false,\n options: {},\n },\n deleteRoom: {\n name: \"DeleteRoom\",\n requestType: DeleteRoomRequest as typeof DeleteRoomRequest,\n requestStream: false,\n responseType: Room as typeof Room,\n responseStream: false,\n options: {},\n },\n sendMessage: {\n name: \"SendMessage\",\n requestType: SendMessageRequest as typeof SendMessageRequest,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.6\n// protoc v5.29.6\n// source: communications.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\n\n/** Legacy Email Service Messages */\nexport interface RegisterTemplateRequest {\n name: string;\n subject: string;\n body: string;\n variables: string[];\n sender?: string | undefined;\n jsonTemplate?: string | undefined;\n}\n\nexport interface UpdateTemplateRequest {\n id: string;\n name?: string | undefined;\n subject?: string | undefined;\n body?: string | undefined;\n variables: string[];\n sender?: string | undefined;\n}\n\nexport interface RegisterTemplateResponse {\n template: string;\n}\n\nexport interface Attachment {\n filename: string;\n contentType?: string | undefined;\n content?: Uint8Array | undefined;\n href?: string | undefined;\n httpHeaders?: string | undefined;\n}\n\nexport interface SendEmailRequest {\n templateName: string;\n params: SendEmailRequest_SendEmailParams | undefined;\n}\n\nexport interface SendEmailRequest_SendEmailParams {\n email: string;\n subject: string;\n variables: string;\n body: string;\n sender?: string | undefined;\n cc: string[];\n replyTo?: string | undefined;\n attachments: Attachment[];\n}\n\nexport interface SendEmailResponse {\n sentMessageInfo: string;\n}\n\nexport interface ResendEmailRequest {\n emailRecordId: string;\n}\n\nexport interface ResendEmailResponse {\n sentMessageInfo: string;\n}\n\nexport interface GetEmailStatusRequest {\n messageId: string;\n}\n\nexport interface GetEmailStatusResponse {\n statusInfo: string;\n}\n\n/** Legacy Push Notifications Service Messages */\nexport interface SetNotificationTokenRequest {\n token: string;\n platform: string;\n userId: string;\n}\n\nexport interface SetNotificationTokenResponse {\n newTokenDocument: string;\n}\n\nexport interface GetNotificationTokensRequest {\n userId: string;\n}\n\nexport interface GetNotificationTokensResponse {\n tokenDocuments: string[];\n}\n\nexport interface SendNotificationRequest {\n sendTo: string;\n title?: string | undefined;\n platform?: string | undefined;\n body?: string | undefined;\n data?: string | undefined;\n doNotStore?: boolean | undefined;\n isSilent?: boolean | undefined;\n}\n\nexport interface SendNotificationToManyDevicesRequest {\n sendTo: string[];\n title?: string | undefined;\n body?: string | undefined;\n data?: string | undefined;\n platform?: string | undefined;\n doNotStore?: boolean | undefined;\n isSilent?: boolean | undefined;\n}\n\nexport interface SendManyNotificationsRequest {\n notifications: SendNotificationRequest[];\n}\n\nexport interface SendNotificationResponse {\n message: string;\n}\n\n/** Legacy SMS Service Messages */\nexport interface SendSmsRequest {\n to: string;\n message: string;\n}\n\nexport interface SendSmsResponse {\n message: string;\n}\n\nexport interface SendVerificationCodeRequest {\n to: string;\n}\n\nexport interface SendVerificationCodeResponse {\n verificationSid: string;\n}\n\nexport interface VerifyRequest {\n verificationSid: string;\n code: string;\n}\n\nexport interface VerifyResponse {\n verified: boolean;\n}\n\n/** New Unified Communications Messages */\nexport interface SendCommunicationRequest {\n /** 'email', 'push', 'sms' */\n channel: string;\n templateName: string;\n params: SendCommunicationRequest_SendCommunicationParams | undefined;\n}\n\nexport interface SendCommunicationRequest_SendCommunicationParams {\n /** email address, user ID, or phone number */\n recipient: string;\n subject: string;\n body: string;\n /** JSON string */\n variables: string;\n sender?: string | undefined;\n cc: string[];\n replyTo?: string | undefined;\n attachments: string[];\n /** JSON string for push notifications */\n data?:\n | string\n | undefined;\n /** for push notifications */\n platform?: string | undefined;\n doNotStore?: boolean | undefined;\n isSilent?: boolean | undefined;\n}\n\nexport interface SendCommunicationResponse {\n messageId: string;\n sentMessageInfo: string;\n}\n\nexport interface SendToMultipleChannelsRequest {\n channels: string[];\n /** 'BEST_EFFORT', 'ALL_OR_NOTHING' */\n strategy: string;\n templateName: string;\n params: SendToMultipleChannelsRequest_SendCommunicationParams | undefined;\n}\n\nexport interface SendToMultipleChannelsRequest_SendCommunicationParams {\n recipient: string;\n subject: string;\n body: string;\n variables: string;\n sender?: string | undefined;\n cc: string[];\n replyTo?: string | undefined;\n attachments: string[];\n data?: string | undefined;\n platform?: string | undefined;\n doNotStore?: boolean | undefined;\n isSilent?: boolean | undefined;\n}\n\nexport interface SendToMultipleChannelsResponse {\n results: SendToMultipleChannelsResponse_ChannelResult[];\n}\n\nexport interface SendToMultipleChannelsResponse_ChannelResult {\n channel: string;\n success: boolean;\n messageId: string;\n error?: string | undefined;\n}\n\nexport interface SendWithFallbackRequest {\n fallbackChain: SendWithFallbackRequest_FallbackStep[];\n templateName: string;\n params: SendWithFallbackRequest_SendCommunicationParams | undefined;\n}\n\nexport interface SendWithFallbackRequest_FallbackStep {\n channel: string;\n /** milliseconds */\n timeout: number;\n}\n\nexport interface SendWithFallbackRequest_SendCommunicationParams {\n recipient: string;\n subject: string;\n body: string;\n variables: string;\n sender?: string | undefined;\n cc: string[];\n replyTo?: string | undefined;\n attachments: string[];\n data?: string | undefined;\n platform?: string | undefined;\n doNotStore?: boolean | undefined;\n isSilent?: boolean | undefined;\n}\n\nexport interface SendWithFallbackResponse {\n successfulChannel: string;\n messageId: string;\n attempts: SendWithFallbackResponse_ChannelResult[];\n}\n\nexport interface SendWithFallbackResponse_ChannelResult {\n channel: string;\n success: boolean;\n messageId: string;\n error?: string | undefined;\n}\n\nexport interface RegisterCommunicationTemplateRequest {\n name: string;\n template: RegisterCommunicationTemplateRequest_CommunicationTemplate | undefined;\n}\n\nexport interface RegisterCommunicationTemplateRequest_CommunicationTemplate {\n email?: RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate | undefined;\n push?: RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate | undefined;\n sms?: RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate | undefined;\n}\n\nexport interface RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate {\n subject: string;\n body: string;\n variables: string[];\n sender?: string | undefined;\n}\n\nexport interface RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate {\n title: string;\n body: string;\n variables: string[];\n}\n\nexport interface RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate {\n message: string;\n variables: string[];\n}\n\nexport interface RegisterCommunicationTemplateResponse {\n template: string;\n}\n\nexport interface GetMessageStatusRequest {\n messageId: string;\n channel: string;\n}\n\nexport interface GetMessageStatusResponse {\n statusInfo: string;\n}\n\nfunction createBaseRegisterTemplateRequest(): RegisterTemplateRequest {\n return { name: \"\", subject: \"\", body: \"\", variables: [], sender: undefined, jsonTemplate: undefined };\n}\n\nexport const RegisterTemplateRequest: MessageFns<RegisterTemplateRequest> = {\n encode(message: RegisterTemplateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.subject !== \"\") {\n writer.uint32(18).string(message.subject);\n }\n if (message.body !== \"\") {\n writer.uint32(26).string(message.body);\n }\n for (const v of message.variables) {\n writer.uint32(34).string(v!);\n }\n if (message.sender !== undefined) {\n writer.uint32(42).string(message.sender);\n }\n if (message.jsonTemplate !== undefined) {\n writer.uint32(50).string(message.jsonTemplate);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisterTemplateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterTemplateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.subject = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.body = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.variables.push(reader.string());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.sender = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.jsonTemplate = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterTemplateRequest {\n return {\n name: isSet(object.name) ? globalThis.String(object.name) : \"\",\n subject: isSet(object.subject) ? globalThis.String(object.subject) : \"\",\n body: isSet(object.body) ? globalThis.String(object.body) : \"\",\n variables: globalThis.Array.isArray(object?.variables)\n ? object.variables.map((e: any) => globalThis.String(e))\n : [],\n sender: isSet(object.sender) ? globalThis.String(object.sender) : undefined,\n jsonTemplate: isSet(object.jsonTemplate) ? globalThis.String(object.jsonTemplate) : undefined,\n };\n },\n\n toJSON(message: RegisterTemplateRequest): unknown {\n const obj: any = {};\n if (message.name !== \"\") {\n obj.name = message.name;\n }\n if (message.subject !== \"\") {\n obj.subject = message.subject;\n }\n if (message.body !== \"\") {\n obj.body = message.body;\n }\n if (message.variables?.length) {\n obj.variables = message.variables;\n }\n if (message.sender !== undefined) {\n obj.sender = message.sender;\n }\n if (message.jsonTemplate !== undefined) {\n obj.jsonTemplate = message.jsonTemplate;\n }\n return obj;\n },\n\n create(base?: DeepPartial<RegisterTemplateRequest>): RegisterTemplateRequest {\n return RegisterTemplateRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<RegisterTemplateRequest>): RegisterTemplateRequest {\n const message = createBaseRegisterTemplateRequest();\n message.name = object.name ?? \"\";\n message.subject = object.subject ?? \"\";\n message.body = object.body ?? \"\";\n message.variables = object.variables?.map((e) => e) || [];\n message.sender = object.sender ?? undefined;\n message.jsonTemplate = object.jsonTemplate ?? undefined;\n return message;\n },\n};\n\nfunction createBaseUpdateTemplateRequest(): UpdateTemplateRequest {\n return { id: \"\", name: undefined, subject: undefined, body: undefined, variables: [], sender: undefined };\n}\n\nexport const UpdateTemplateRequest: MessageFns<UpdateTemplateRequest> = {\n encode(message: UpdateTemplateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.id !== \"\") {\n writer.uint32(10).string(message.id);\n }\n if (message.name !== undefined) {\n writer.uint32(18).string(message.name);\n }\n if (message.subject !== undefined) {\n writer.uint32(26).string(message.subject);\n }\n if (message.body !== undefined) {\n writer.uint32(34).string(message.body);\n }\n for (const v of message.variables) {\n writer.uint32(42).string(v!);\n }\n if (message.sender !== undefined) {\n writer.uint32(50).string(message.sender);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): UpdateTemplateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseUpdateTemplateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.subject = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.body = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.variables.push(reader.string());\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.sender = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): UpdateTemplateRequest {\n return {\n id: isSet(object.id) ? globalThis.String(object.id) : \"\",\n name: isSet(object.name) ? globalThis.String(object.name) : undefined,\n subject: isSet(object.subject) ? globalThis.String(object.subject) : undefined,\n body: isSet(object.body) ? globalThis.String(object.body) : undefined,\n variables: globalThis.Array.isArray(object?.variables)\n ? object.variables.map((e: any) => globalThis.String(e))\n : [],\n sender: isSet(object.sender) ? globalThis.String(object.sender) : undefined,\n };\n },\n\n toJSON(message: UpdateTemplateRequest): unknown {\n const obj: any = {};\n if (message.id !== \"\") {\n obj.id = message.id;\n }\n if (message.name !== undefined) {\n obj.name = message.name;\n }\n if (message.subject !== undefined) {\n obj.subject = message.subject;\n }\n if (message.body !== undefined) {\n obj.body = message.body;\n }\n if (message.variables?.length) {\n obj.variables = message.variables;\n }\n if (message.sender !== undefined) {\n obj.sender = message.sender;\n }\n return obj;\n },\n\n create(base?: DeepPartial<UpdateTemplateRequest>): UpdateTemplateRequest {\n return UpdateTemplateRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<UpdateTemplateRequest>): UpdateTemplateRequest {\n const message = createBaseUpdateTemplateRequest();\n message.id = object.id ?? \"\";\n message.name = object.name ?? undefined;\n message.subject = object.subject ?? undefined;\n message.body = object.body ?? undefined;\n message.variables = object.variables?.map((e) => e) || [];\n message.sender = object.sender ?? undefined;\n return message;\n },\n};\n\nfunction createBaseRegisterTemplateResponse(): RegisterTemplateResponse {\n return { template: \"\" };\n}\n\nexport const RegisterTemplateResponse: MessageFns<RegisterTemplateResponse> = {\n encode(message: RegisterTemplateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.template !== \"\") {\n writer.uint32(10).string(message.template);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisterTemplateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterTemplateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.template = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterTemplateResponse {\n return { template: isSet(object.template) ? globalThis.String(object.template) : \"\" };\n },\n\n toJSON(message: RegisterTemplateResponse): unknown {\n const obj: any = {};\n if (message.template !== \"\") {\n obj.template = message.template;\n }\n return obj;\n },\n\n create(base?: DeepPartial<RegisterTemplateResponse>): RegisterTemplateResponse {\n return RegisterTemplateResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<RegisterTemplateResponse>): RegisterTemplateResponse {\n const message = createBaseRegisterTemplateResponse();\n message.template = object.template ?? \"\";\n return message;\n },\n};\n\nfunction createBaseAttachment(): Attachment {\n return { filename: \"\", contentType: undefined, content: undefined, href: undefined, httpHeaders: undefined };\n}\n\nexport const Attachment: MessageFns<Attachment> = {\n encode(message: Attachment, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.filename !== \"\") {\n writer.uint32(10).string(message.filename);\n }\n if (message.contentType !== undefined) {\n writer.uint32(18).string(message.contentType);\n }\n if (message.content !== undefined) {\n writer.uint32(26).bytes(message.content);\n }\n if (message.href !== undefined) {\n writer.uint32(34).string(message.href);\n }\n if (message.httpHeaders !== undefined) {\n writer.uint32(42).string(message.httpHeaders);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Attachment {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAttachment();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.filename = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.contentType = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.content = reader.bytes();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.href = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.httpHeaders = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Attachment {\n return {\n filename: isSet(object.filename) ? globalThis.String(object.filename) : \"\",\n contentType: isSet(object.contentType) ? globalThis.String(object.contentType) : undefined,\n content: isSet(object.content) ? bytesFromBase64(object.content) : undefined,\n href: isSet(object.href) ? globalThis.String(object.href) : undefined,\n httpHeaders: isSet(object.httpHeaders) ? globalThis.String(object.httpHeaders) : undefined,\n };\n },\n\n toJSON(message: Attachment): unknown {\n const obj: any = {};\n if (message.filename !== \"\") {\n obj.filename = message.filename;\n }\n if (message.contentType !== undefined) {\n obj.contentType = message.contentType;\n }\n if (message.content !== undefined) {\n obj.content = base64FromBytes(message.content);\n }\n if (message.href !== undefined) {\n obj.href = message.href;\n }\n if (message.httpHeaders !== undefined) {\n obj.httpHeaders = message.httpHeaders;\n }\n return obj;\n },\n\n create(base?: DeepPartial<Attachment>): Attachment {\n return Attachment.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Attachment>): Attachment {\n const message = createBaseAttachment();\n message.filename = object.filename ?? \"\";\n message.contentType = object.contentType ?? undefined;\n message.content = object.content ?? undefined;\n message.href = object.href ?? undefined;\n message.httpHeaders = object.httpHeaders ?? undefined;\n return message;\n },\n};\n\nfunction createBaseSendEmailRequest(): SendEmailRequest {\n return { templateName: \"\", params: undefined };\n}\n\nexport const SendEmailRequest: MessageFns<SendEmailRequest> = {\n encode(message: SendEmailRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.templateName !== \"\") {\n writer.uint32(10).string(message.templateName);\n }\n if (message.params !== undefined) {\n SendEmailRequest_SendEmailParams.encode(message.params, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendEmailRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendEmailRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.templateName = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.params = SendEmailRequest_SendEmailParams.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendEmailRequest {\n return {\n templateName: isSet(object.templateName) ? globalThis.String(object.templateName) : \"\",\n params: isSet(object.params) ? SendEmailRequest_SendEmailParams.fromJSON(object.params) : undefined,\n };\n },\n\n toJSON(message: SendEmailRequest): unknown {\n const obj: any = {};\n if (message.templateName !== \"\") {\n obj.templateName = message.templateName;\n }\n if (message.params !== undefined) {\n obj.params = SendEmailRequest_SendEmailParams.toJSON(message.params);\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendEmailRequest>): SendEmailRequest {\n return SendEmailRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendEmailRequest>): SendEmailRequest {\n const message = createBaseSendEmailRequest();\n message.templateName = object.templateName ?? \"\";\n message.params = (object.params !== undefined && object.params !== null)\n ? SendEmailRequest_SendEmailParams.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseSendEmailRequest_SendEmailParams(): SendEmailRequest_SendEmailParams {\n return {\n email: \"\",\n subject: \"\",\n variables: \"\",\n body: \"\",\n sender: undefined,\n cc: [],\n replyTo: undefined,\n attachments: [],\n };\n}\n\nexport const SendEmailRequest_SendEmailParams: MessageFns<SendEmailRequest_SendEmailParams> = {\n encode(message: SendEmailRequest_SendEmailParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.email !== \"\") {\n writer.uint32(10).string(message.email);\n }\n if (message.subject !== \"\") {\n writer.uint32(66).string(message.subject);\n }\n if (message.variables !== \"\") {\n writer.uint32(18).string(message.variables);\n }\n if (message.body !== \"\") {\n writer.uint32(58).string(message.body);\n }\n if (message.sender !== undefined) {\n writer.uint32(26).string(message.sender);\n }\n for (const v of message.cc) {\n writer.uint32(34).string(v!);\n }\n if (message.replyTo !== undefined) {\n writer.uint32(42).string(message.replyTo);\n }\n for (const v of message.attachments) {\n Attachment.encode(v!, writer.uint32(50).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendEmailRequest_SendEmailParams {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendEmailRequest_SendEmailParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.email = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.subject = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.variables = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.body = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.sender = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.cc.push(reader.string());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.replyTo = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.attachments.push(Attachment.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendEmailRequest_SendEmailParams {\n return {\n email: isSet(object.email) ? globalThis.String(object.email) : \"\",\n subject: isSet(object.subject) ? globalThis.String(object.subject) : \"\",\n variables: isSet(object.variables) ? globalThis.String(object.variables) : \"\",\n body: isSet(object.body) ? globalThis.String(object.body) : \"\",\n sender: isSet(object.sender) ? globalThis.String(object.sender) : undefined,\n cc: globalThis.Array.isArray(object?.cc) ? object.cc.map((e: any) => globalThis.String(e)) : [],\n replyTo: isSet(object.replyTo) ? globalThis.String(object.replyTo) : undefined,\n attachments: globalThis.Array.isArray(object?.attachments)\n ? object.attachments.map((e: any) => Attachment.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: SendEmailRequest_SendEmailParams): unknown {\n const obj: any = {};\n if (message.email !== \"\") {\n obj.email = message.email;\n }\n if (message.subject !== \"\") {\n obj.subject = message.subject;\n }\n if (message.variables !== \"\") {\n obj.variables = message.variables;\n }\n if (message.body !== \"\") {\n obj.body = message.body;\n }\n if (message.sender !== undefined) {\n obj.sender = message.sender;\n }\n if (message.cc?.length) {\n obj.cc = message.cc;\n }\n if (message.replyTo !== undefined) {\n obj.replyTo = message.replyTo;\n }\n if (message.attachments?.length) {\n obj.attachments = message.attachments.map((e) => Attachment.toJSON(e));\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendEmailRequest_SendEmailParams>): SendEmailRequest_SendEmailParams {\n return SendEmailRequest_SendEmailParams.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendEmailRequest_SendEmailParams>): SendEmailRequest_SendEmailParams {\n const message = createBaseSendEmailRequest_SendEmailParams();\n message.email = object.email ?? \"\";\n message.subject = object.subject ?? \"\";\n message.variables = object.variables ?? \"\";\n message.body = object.body ?? \"\";\n message.sender = object.sender ?? undefined;\n message.cc = object.cc?.map((e) => e) || [];\n message.replyTo = object.replyTo ?? undefined;\n message.attachments = object.attachments?.map((e) => Attachment.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseSendEmailResponse(): SendEmailResponse {\n return { sentMessageInfo: \"\" };\n}\n\nexport const SendEmailResponse: MessageFns<SendEmailResponse> = {\n encode(message: SendEmailResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.sentMessageInfo !== \"\") {\n writer.uint32(10).string(message.sentMessageInfo);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendEmailResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendEmailResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.sentMessageInfo = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendEmailResponse {\n return { sentMessageInfo: isSet(object.sentMessageInfo) ? globalThis.String(object.sentMessageInfo) : \"\" };\n },\n\n toJSON(message: SendEmailResponse): unknown {\n const obj: any = {};\n if (message.sentMessageInfo !== \"\") {\n obj.sentMessageInfo = message.sentMessageInfo;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendEmailResponse>): SendEmailResponse {\n return SendEmailResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendEmailResponse>): SendEmailResponse {\n const message = createBaseSendEmailResponse();\n message.sentMessageInfo = object.sentMessageInfo ?? \"\";\n return message;\n },\n};\n\nfunction createBaseResendEmailRequest(): ResendEmailRequest {\n return { emailRecordId: \"\" };\n}\n\nexport const ResendEmailRequest: MessageFns<ResendEmailRequest> = {\n encode(message: ResendEmailRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.emailRecordId !== \"\") {\n writer.uint32(10).string(message.emailRecordId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ResendEmailRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseResendEmailRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.emailRecordId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ResendEmailRequest {\n return { emailRecordId: isSet(object.emailRecordId) ? globalThis.String(object.emailRecordId) : \"\" };\n },\n\n toJSON(message: ResendEmailRequest): unknown {\n const obj: any = {};\n if (message.emailRecordId !== \"\") {\n obj.emailRecordId = message.emailRecordId;\n }\n return obj;\n },\n\n create(base?: DeepPartial<ResendEmailRequest>): ResendEmailRequest {\n return ResendEmailRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ResendEmailRequest>): ResendEmailRequest {\n const message = createBaseResendEmailRequest();\n message.emailRecordId = object.emailRecordId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseResendEmailResponse(): ResendEmailResponse {\n return { sentMessageInfo: \"\" };\n}\n\nexport const ResendEmailResponse: MessageFns<ResendEmailResponse> = {\n encode(message: ResendEmailResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.sentMessageInfo !== \"\") {\n writer.uint32(10).string(message.sentMessageInfo);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ResendEmailResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseResendEmailResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.sentMessageInfo = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ResendEmailResponse {\n return { sentMessageInfo: isSet(object.sentMessageInfo) ? globalThis.String(object.sentMessageInfo) : \"\" };\n },\n\n toJSON(message: ResendEmailResponse): unknown {\n const obj: any = {};\n if (message.sentMessageInfo !== \"\") {\n obj.sentMessageInfo = message.sentMessageInfo;\n }\n return obj;\n },\n\n create(base?: DeepPartial<ResendEmailResponse>): ResendEmailResponse {\n return ResendEmailResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ResendEmailResponse>): ResendEmailResponse {\n const message = createBaseResendEmailResponse();\n message.sentMessageInfo = object.sentMessageInfo ?? \"\";\n return message;\n },\n};\n\nfunction createBaseGetEmailStatusRequest(): GetEmailStatusRequest {\n return { messageId: \"\" };\n}\n\nexport const GetEmailStatusRequest: MessageFns<GetEmailStatusRequest> = {\n encode(message: GetEmailStatusRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.messageId !== \"\") {\n writer.uint32(10).string(message.messageId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetEmailStatusRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetEmailStatusRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.messageId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetEmailStatusRequest {\n return { messageId: isSet(object.messageId) ? globalThis.String(object.messageId) : \"\" };\n },\n\n toJSON(message: GetEmailStatusRequest): unknown {\n const obj: any = {};\n if (message.messageId !== \"\") {\n obj.messageId = message.messageId;\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetEmailStatusRequest>): GetEmailStatusRequest {\n return GetEmailStatusRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetEmailStatusRequest>): GetEmailStatusRequest {\n const message = createBaseGetEmailStatusRequest();\n message.messageId = object.messageId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseGetEmailStatusResponse(): GetEmailStatusResponse {\n return { statusInfo: \"\" };\n}\n\nexport const GetEmailStatusResponse: MessageFns<GetEmailStatusResponse> = {\n encode(message: GetEmailStatusResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.statusInfo !== \"\") {\n writer.uint32(10).string(message.statusInfo);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetEmailStatusResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetEmailStatusResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.statusInfo = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetEmailStatusResponse {\n return { statusInfo: isSet(object.statusInfo) ? globalThis.String(object.statusInfo) : \"\" };\n },\n\n toJSON(message: GetEmailStatusResponse): unknown {\n const obj: any = {};\n if (message.statusInfo !== \"\") {\n obj.statusInfo = message.statusInfo;\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetEmailStatusResponse>): GetEmailStatusResponse {\n return GetEmailStatusResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetEmailStatusResponse>): GetEmailStatusResponse {\n const message = createBaseGetEmailStatusResponse();\n message.statusInfo = object.statusInfo ?? \"\";\n return message;\n },\n};\n\nfunction createBaseSetNotificationTokenRequest(): SetNotificationTokenRequest {\n return { token: \"\", platform: \"\", userId: \"\" };\n}\n\nexport const SetNotificationTokenRequest: MessageFns<SetNotificationTokenRequest> = {\n encode(message: SetNotificationTokenRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.token !== \"\") {\n writer.uint32(10).string(message.token);\n }\n if (message.platform !== \"\") {\n writer.uint32(18).string(message.platform);\n }\n if (message.userId !== \"\") {\n writer.uint32(26).string(message.userId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SetNotificationTokenRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSetNotificationTokenRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.token = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.platform = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.userId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SetNotificationTokenRequest {\n return {\n token: isSet(object.token) ? globalThis.String(object.token) : \"\",\n platform: isSet(object.platform) ? globalThis.String(object.platform) : \"\",\n userId: isSet(object.userId) ? globalThis.String(object.userId) : \"\",\n };\n },\n\n toJSON(message: SetNotificationTokenRequest): unknown {\n const obj: any = {};\n if (message.token !== \"\") {\n obj.token = message.token;\n }\n if (message.platform !== \"\") {\n obj.platform = message.platform;\n }\n if (message.userId !== \"\") {\n obj.userId = message.userId;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SetNotificationTokenRequest>): SetNotificationTokenRequest {\n return SetNotificationTokenRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SetNotificationTokenRequest>): SetNotificationTokenRequest {\n const message = createBaseSetNotificationTokenRequest();\n message.token = object.token ?? \"\";\n message.platform = object.platform ?? \"\";\n message.userId = object.userId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseSetNotificationTokenResponse(): SetNotificationTokenResponse {\n return { newTokenDocument: \"\" };\n}\n\nexport const SetNotificationTokenResponse: MessageFns<SetNotificationTokenResponse> = {\n encode(message: SetNotificationTokenResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.newTokenDocument !== \"\") {\n writer.uint32(10).string(message.newTokenDocument);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SetNotificationTokenResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSetNotificationTokenResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.newTokenDocument = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SetNotificationTokenResponse {\n return { newTokenDocument: isSet(object.newTokenDocument) ? globalThis.String(object.newTokenDocument) : \"\" };\n },\n\n toJSON(message: SetNotificationTokenResponse): unknown {\n const obj: any = {};\n if (message.newTokenDocument !== \"\") {\n obj.newTokenDocument = message.newTokenDocument;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SetNotificationTokenResponse>): SetNotificationTokenResponse {\n return SetNotificationTokenResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SetNotificationTokenResponse>): SetNotificationTokenResponse {\n const message = createBaseSetNotificationTokenResponse();\n message.newTokenDocument = object.newTokenDocument ?? \"\";\n return message;\n },\n};\n\nfunction createBaseGetNotificationTokensRequest(): GetNotificationTokensRequest {\n return { userId: \"\" };\n}\n\nexport const GetNotificationTokensRequest: MessageFns<GetNotificationTokensRequest> = {\n encode(message: GetNotificationTokensRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.userId !== \"\") {\n writer.uint32(10).string(message.userId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetNotificationTokensRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetNotificationTokensRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.userId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetNotificationTokensRequest {\n return { userId: isSet(object.userId) ? globalThis.String(object.userId) : \"\" };\n },\n\n toJSON(message: GetNotificationTokensRequest): unknown {\n const obj: any = {};\n if (message.userId !== \"\") {\n obj.userId = message.userId;\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetNotificationTokensRequest>): GetNotificationTokensRequest {\n return GetNotificationTokensRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetNotificationTokensRequest>): GetNotificationTokensRequest {\n const message = createBaseGetNotificationTokensRequest();\n message.userId = object.userId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseGetNotificationTokensResponse(): GetNotificationTokensResponse {\n return { tokenDocuments: [] };\n}\n\nexport const GetNotificationTokensResponse: MessageFns<GetNotificationTokensResponse> = {\n encode(message: GetNotificationTokensResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.tokenDocuments) {\n writer.uint32(10).string(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetNotificationTokensResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetNotificationTokensResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.tokenDocuments.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetNotificationTokensResponse {\n return {\n tokenDocuments: globalThis.Array.isArray(object?.tokenDocuments)\n ? object.tokenDocuments.map((e: any) => globalThis.String(e))\n : [],\n };\n },\n\n toJSON(message: GetNotificationTokensResponse): unknown {\n const obj: any = {};\n if (message.tokenDocuments?.length) {\n obj.tokenDocuments = message.tokenDocuments;\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetNotificationTokensResponse>): GetNotificationTokensResponse {\n return GetNotificationTokensResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetNotificationTokensResponse>): GetNotificationTokensResponse {\n const message = createBaseGetNotificationTokensResponse();\n message.tokenDocuments = object.tokenDocuments?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseSendNotificationRequest(): SendNotificationRequest {\n return {\n sendTo: \"\",\n title: undefined,\n platform: undefined,\n body: undefined,\n data: undefined,\n doNotStore: undefined,\n isSilent: undefined,\n };\n}\n\nexport const SendNotificationRequest: MessageFns<SendNotificationRequest> = {\n encode(message: SendNotificationRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.sendTo !== \"\") {\n writer.uint32(10).string(message.sendTo);\n }\n if (message.title !== undefined) {\n writer.uint32(18).string(message.title);\n }\n if (message.platform !== undefined) {\n writer.uint32(26).string(message.platform);\n }\n if (message.body !== undefined) {\n writer.uint32(34).string(message.body);\n }\n if (message.data !== undefined) {\n writer.uint32(42).string(message.data);\n }\n if (message.doNotStore !== undefined) {\n writer.uint32(48).bool(message.doNotStore);\n }\n if (message.isSilent !== undefined) {\n writer.uint32(56).bool(message.isSilent);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendNotificationRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendNotificationRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.sendTo = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.title = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.platform = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.body = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.data = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 48) {\n break;\n }\n\n message.doNotStore = reader.bool();\n continue;\n }\n case 7: {\n if (tag !== 56) {\n break;\n }\n\n message.isSilent = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendNotificationRequest {\n return {\n sendTo: isSet(object.sendTo) ? globalThis.String(object.sendTo) : \"\",\n title: isSet(object.title) ? globalThis.String(object.title) : undefined,\n platform: isSet(object.platform) ? globalThis.String(object.platform) : undefined,\n body: isSet(object.body) ? globalThis.String(object.body) : undefined,\n data: isSet(object.data) ? globalThis.String(object.data) : undefined,\n doNotStore: isSet(object.doNotStore) ? globalThis.Boolean(object.doNotStore) : undefined,\n isSilent: isSet(object.isSilent) ? globalThis.Boolean(object.isSilent) : undefined,\n };\n },\n\n toJSON(message: SendNotificationRequest): unknown {\n const obj: any = {};\n if (message.sendTo !== \"\") {\n obj.sendTo = message.sendTo;\n }\n if (message.title !== undefined) {\n obj.title = message.title;\n }\n if (message.platform !== undefined) {\n obj.platform = message.platform;\n }\n if (message.body !== undefined) {\n obj.body = message.body;\n }\n if (message.data !== undefined) {\n obj.data = message.data;\n }\n if (message.doNotStore !== undefined) {\n obj.doNotStore = message.doNotStore;\n }\n if (message.isSilent !== undefined) {\n obj.isSilent = message.isSilent;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendNotificationRequest>): SendNotificationRequest {\n return SendNotificationRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendNotificationRequest>): SendNotificationRequest {\n const message = createBaseSendNotificationRequest();\n message.sendTo = object.sendTo ?? \"\";\n message.title = object.title ?? undefined;\n message.platform = object.platform ?? undefined;\n message.body = object.body ?? undefined;\n message.data = object.data ?? undefined;\n message.doNotStore = object.doNotStore ?? undefined;\n message.isSilent = object.isSilent ?? undefined;\n return message;\n },\n};\n\nfunction createBaseSendNotificationToManyDevicesRequest(): SendNotificationToManyDevicesRequest {\n return {\n sendTo: [],\n title: undefined,\n body: undefined,\n data: undefined,\n platform: undefined,\n doNotStore: undefined,\n isSilent: undefined,\n };\n}\n\nexport const SendNotificationToManyDevicesRequest: MessageFns<SendNotificationToManyDevicesRequest> = {\n encode(message: SendNotificationToManyDevicesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.sendTo) {\n writer.uint32(10).string(v!);\n }\n if (message.title !== undefined) {\n writer.uint32(18).string(message.title);\n }\n if (message.body !== undefined) {\n writer.uint32(26).string(message.body);\n }\n if (message.data !== undefined) {\n writer.uint32(34).string(message.data);\n }\n if (message.platform !== undefined) {\n writer.uint32(42).string(message.platform);\n }\n if (message.doNotStore !== undefined) {\n writer.uint32(48).bool(message.doNotStore);\n }\n if (message.isSilent !== undefined) {\n writer.uint32(56).bool(message.isSilent);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendNotificationToManyDevicesRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendNotificationToManyDevicesRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.sendTo.push(reader.string());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.title = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.body = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.data = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.platform = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 48) {\n break;\n }\n\n message.doNotStore = reader.bool();\n continue;\n }\n case 7: {\n if (tag !== 56) {\n break;\n }\n\n message.isSilent = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendNotificationToManyDevicesRequest {\n return {\n sendTo: globalThis.Array.isArray(object?.sendTo) ? object.sendTo.map((e: any) => globalThis.String(e)) : [],\n title: isSet(object.title) ? globalThis.String(object.title) : undefined,\n body: isSet(object.body) ? globalThis.String(object.body) : undefined,\n data: isSet(object.data) ? globalThis.String(object.data) : undefined,\n platform: isSet(object.platform) ? globalThis.String(object.platform) : undefined,\n doNotStore: isSet(object.doNotStore) ? globalThis.Boolean(object.doNotStore) : undefined,\n isSilent: isSet(object.isSilent) ? globalThis.Boolean(object.isSilent) : undefined,\n };\n },\n\n toJSON(message: SendNotificationToManyDevicesRequest): unknown {\n const obj: any = {};\n if (message.sendTo?.length) {\n obj.sendTo = message.sendTo;\n }\n if (message.title !== undefined) {\n obj.title = message.title;\n }\n if (message.body !== undefined) {\n obj.body = message.body;\n }\n if (message.data !== undefined) {\n obj.data = message.data;\n }\n if (message.platform !== undefined) {\n obj.platform = message.platform;\n }\n if (message.doNotStore !== undefined) {\n obj.doNotStore = message.doNotStore;\n }\n if (message.isSilent !== undefined) {\n obj.isSilent = message.isSilent;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendNotificationToManyDevicesRequest>): SendNotificationToManyDevicesRequest {\n return SendNotificationToManyDevicesRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendNotificationToManyDevicesRequest>): SendNotificationToManyDevicesRequest {\n const message = createBaseSendNotificationToManyDevicesRequest();\n message.sendTo = object.sendTo?.map((e) => e) || [];\n message.title = object.title ?? undefined;\n message.body = object.body ?? undefined;\n message.data = object.data ?? undefined;\n message.platform = object.platform ?? undefined;\n message.doNotStore = object.doNotStore ?? undefined;\n message.isSilent = object.isSilent ?? undefined;\n return message;\n },\n};\n\nfunction createBaseSendManyNotificationsRequest(): SendManyNotificationsRequest {\n return { notifications: [] };\n}\n\nexport const SendManyNotificationsRequest: MessageFns<SendManyNotificationsRequest> = {\n encode(message: SendManyNotificationsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.notifications) {\n SendNotificationRequest.encode(v!, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendManyNotificationsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendManyNotificationsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.notifications.push(SendNotificationRequest.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendManyNotificationsRequest {\n return {\n notifications: globalThis.Array.isArray(object?.notifications)\n ? object.notifications.map((e: any) => SendNotificationRequest.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: SendManyNotificationsRequest): unknown {\n const obj: any = {};\n if (message.notifications?.length) {\n obj.notifications = message.notifications.map((e) => SendNotificationRequest.toJSON(e));\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendManyNotificationsRequest>): SendManyNotificationsRequest {\n return SendManyNotificationsRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendManyNotificationsRequest>): SendManyNotificationsRequest {\n const message = createBaseSendManyNotificationsRequest();\n message.notifications = object.notifications?.map((e) => SendNotificationRequest.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseSendNotificationResponse(): SendNotificationResponse {\n return { message: \"\" };\n}\n\nexport const SendNotificationResponse: MessageFns<SendNotificationResponse> = {\n encode(message: SendNotificationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.message !== \"\") {\n writer.uint32(10).string(message.message);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendNotificationResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendNotificationResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.message = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendNotificationResponse {\n return { message: isSet(object.message) ? globalThis.String(object.message) : \"\" };\n },\n\n toJSON(message: SendNotificationResponse): unknown {\n const obj: any = {};\n if (message.message !== \"\") {\n obj.message = message.message;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendNotificationResponse>): SendNotificationResponse {\n return SendNotificationResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendNotificationResponse>): SendNotificationResponse {\n const message = createBaseSendNotificationResponse();\n message.message = object.message ?? \"\";\n return message;\n },\n};\n\nfunction createBaseSendSmsRequest(): SendSmsRequest {\n return { to: \"\", message: \"\" };\n}\n\nexport const SendSmsRequest: MessageFns<SendSmsRequest> = {\n encode(message: SendSmsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.to !== \"\") {\n writer.uint32(10).string(message.to);\n }\n if (message.message !== \"\") {\n writer.uint32(18).string(message.message);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendSmsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendSmsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.to = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.message = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendSmsRequest {\n return {\n to: isSet(object.to) ? globalThis.String(object.to) : \"\",\n message: isSet(object.message) ? globalThis.String(object.message) : \"\",\n };\n },\n\n toJSON(message: SendSmsRequest): unknown {\n const obj: any = {};\n if (message.to !== \"\") {\n obj.to = message.to;\n }\n if (message.message !== \"\") {\n obj.message = message.message;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendSmsRequest>): SendSmsRequest {\n return SendSmsRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendSmsRequest>): SendSmsRequest {\n const message = createBaseSendSmsRequest();\n message.to = object.to ?? \"\";\n message.message = object.message ?? \"\";\n return message;\n },\n};\n\nfunction createBaseSendSmsResponse(): SendSmsResponse {\n return { message: \"\" };\n}\n\nexport const SendSmsResponse: MessageFns<SendSmsResponse> = {\n encode(message: SendSmsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.message !== \"\") {\n writer.uint32(10).string(message.message);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendSmsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendSmsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.message = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendSmsResponse {\n return { message: isSet(object.message) ? globalThis.String(object.message) : \"\" };\n },\n\n toJSON(message: SendSmsResponse): unknown {\n const obj: any = {};\n if (message.message !== \"\") {\n obj.message = message.message;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendSmsResponse>): SendSmsResponse {\n return SendSmsResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendSmsResponse>): SendSmsResponse {\n const message = createBaseSendSmsResponse();\n message.message = object.message ?? \"\";\n return message;\n },\n};\n\nfunction createBaseSendVerificationCodeRequest(): SendVerificationCodeRequest {\n return { to: \"\" };\n}\n\nexport const SendVerificationCodeRequest: MessageFns<SendVerificationCodeRequest> = {\n encode(message: SendVerificationCodeRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.to !== \"\") {\n writer.uint32(10).string(message.to);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendVerificationCodeRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendVerificationCodeRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.to = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendVerificationCodeRequest {\n return { to: isSet(object.to) ? globalThis.String(object.to) : \"\" };\n },\n\n toJSON(message: SendVerificationCodeRequest): unknown {\n const obj: any = {};\n if (message.to !== \"\") {\n obj.to = message.to;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendVerificationCodeRequest>): SendVerificationCodeRequest {\n return SendVerificationCodeRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendVerificationCodeRequest>): SendVerificationCodeRequest {\n const message = createBaseSendVerificationCodeRequest();\n message.to = object.to ?? \"\";\n return message;\n },\n};\n\nfunction createBaseSendVerificationCodeResponse(): SendVerificationCodeResponse {\n return { verificationSid: \"\" };\n}\n\nexport const SendVerificationCodeResponse: MessageFns<SendVerificationCodeResponse> = {\n encode(message: SendVerificationCodeResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.verificationSid !== \"\") {\n writer.uint32(10).string(message.verificationSid);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendVerificationCodeResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendVerificationCodeResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.verificationSid = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendVerificationCodeResponse {\n return { verificationSid: isSet(object.verificationSid) ? globalThis.String(object.verificationSid) : \"\" };\n },\n\n toJSON(message: SendVerificationCodeResponse): unknown {\n const obj: any = {};\n if (message.verificationSid !== \"\") {\n obj.verificationSid = message.verificationSid;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendVerificationCodeResponse>): SendVerificationCodeResponse {\n return SendVerificationCodeResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendVerificationCodeResponse>): SendVerificationCodeResponse {\n const message = createBaseSendVerificationCodeResponse();\n message.verificationSid = object.verificationSid ?? \"\";\n return message;\n },\n};\n\nfunction createBaseVerifyRequest(): VerifyRequest {\n return { verificationSid: \"\", code: \"\" };\n}\n\nexport const VerifyRequest: MessageFns<VerifyRequest> = {\n encode(message: VerifyRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.verificationSid !== \"\") {\n writer.uint32(10).string(message.verificationSid);\n }\n if (message.code !== \"\") {\n writer.uint32(18).string(message.code);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): VerifyRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseVerifyRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.verificationSid = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.code = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): VerifyRequest {\n return {\n verificationSid: isSet(object.verificationSid) ? globalThis.String(object.verificationSid) : \"\",\n code: isSet(object.code) ? globalThis.String(object.code) : \"\",\n };\n },\n\n toJSON(message: VerifyRequest): unknown {\n const obj: any = {};\n if (message.verificationSid !== \"\") {\n obj.verificationSid = message.verificationSid;\n }\n if (message.code !== \"\") {\n obj.code = message.code;\n }\n return obj;\n },\n\n create(base?: DeepPartial<VerifyRequest>): VerifyRequest {\n return VerifyRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<VerifyRequest>): VerifyRequest {\n const message = createBaseVerifyRequest();\n message.verificationSid = object.verificationSid ?? \"\";\n message.code = object.code ?? \"\";\n return message;\n },\n};\n\nfunction createBaseVerifyResponse(): VerifyResponse {\n return { verified: false };\n}\n\nexport const VerifyResponse: MessageFns<VerifyResponse> = {\n encode(message: VerifyResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.verified !== false) {\n writer.uint32(8).bool(message.verified);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): VerifyResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseVerifyResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.verified = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): VerifyResponse {\n return { verified: isSet(object.verified) ? globalThis.Boolean(object.verified) : false };\n },\n\n toJSON(message: VerifyResponse): unknown {\n const obj: any = {};\n if (message.verified !== false) {\n obj.verified = message.verified;\n }\n return obj;\n },\n\n create(base?: DeepPartial<VerifyResponse>): VerifyResponse {\n return VerifyResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<VerifyResponse>): VerifyResponse {\n const message = createBaseVerifyResponse();\n message.verified = object.verified ?? false;\n return message;\n },\n};\n\nfunction createBaseSendCommunicationRequest(): SendCommunicationRequest {\n return { channel: \"\", templateName: \"\", params: undefined };\n}\n\nexport const SendCommunicationRequest: MessageFns<SendCommunicationRequest> = {\n encode(message: SendCommunicationRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.channel !== \"\") {\n writer.uint32(10).string(message.channel);\n }\n if (message.templateName !== \"\") {\n writer.uint32(18).string(message.templateName);\n }\n if (message.params !== undefined) {\n SendCommunicationRequest_SendCommunicationParams.encode(message.params, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendCommunicationRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendCommunicationRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.channel = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.templateName = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.params = SendCommunicationRequest_SendCommunicationParams.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendCommunicationRequest {\n return {\n channel: isSet(object.channel) ? globalThis.String(object.channel) : \"\",\n templateName: isSet(object.templateName) ? globalThis.String(object.templateName) : \"\",\n params: isSet(object.params)\n ? SendCommunicationRequest_SendCommunicationParams.fromJSON(object.params)\n : undefined,\n };\n },\n\n toJSON(message: SendCommunicationRequest): unknown {\n const obj: any = {};\n if (message.channel !== \"\") {\n obj.channel = message.channel;\n }\n if (message.templateName !== \"\") {\n obj.templateName = message.templateName;\n }\n if (message.params !== undefined) {\n obj.params = SendCommunicationRequest_SendCommunicationParams.toJSON(message.params);\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendCommunicationRequest>): SendCommunicationRequest {\n return SendCommunicationRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendCommunicationRequest>): SendCommunicationRequest {\n const message = createBaseSendCommunicationRequest();\n message.channel = object.channel ?? \"\";\n message.templateName = object.templateName ?? \"\";\n message.params = (object.params !== undefined && object.params !== null)\n ? SendCommunicationRequest_SendCommunicationParams.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseSendCommunicationRequest_SendCommunicationParams(): SendCommunicationRequest_SendCommunicationParams {\n return {\n recipient: \"\",\n subject: \"\",\n body: \"\",\n variables: \"\",\n sender: undefined,\n cc: [],\n replyTo: undefined,\n attachments: [],\n data: undefined,\n platform: undefined,\n doNotStore: undefined,\n isSilent: undefined,\n };\n}\n\nexport const SendCommunicationRequest_SendCommunicationParams: MessageFns<\n SendCommunicationRequest_SendCommunicationParams\n> = {\n encode(\n message: SendCommunicationRequest_SendCommunicationParams,\n writer: BinaryWriter = new BinaryWriter(),\n ): BinaryWriter {\n if (message.recipient !== \"\") {\n writer.uint32(10).string(message.recipient);\n }\n if (message.subject !== \"\") {\n writer.uint32(18).string(message.subject);\n }\n if (message.body !== \"\") {\n writer.uint32(26).string(message.body);\n }\n if (message.variables !== \"\") {\n writer.uint32(34).string(message.variables);\n }\n if (message.sender !== undefined) {\n writer.uint32(42).string(message.sender);\n }\n for (const v of message.cc) {\n writer.uint32(50).string(v!);\n }\n if (message.replyTo !== undefined) {\n writer.uint32(58).string(message.replyTo);\n }\n for (const v of message.attachments) {\n writer.uint32(66).string(v!);\n }\n if (message.data !== undefined) {\n writer.uint32(74).string(message.data);\n }\n if (message.platform !== undefined) {\n writer.uint32(82).string(message.platform);\n }\n if (message.doNotStore !== undefined) {\n writer.uint32(88).bool(message.doNotStore);\n }\n if (message.isSilent !== undefined) {\n writer.uint32(96).bool(message.isSilent);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendCommunicationRequest_SendCommunicationParams {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendCommunicationRequest_SendCommunicationParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.recipient = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.subject = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.body = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.variables = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.sender = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.cc.push(reader.string());\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.replyTo = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.attachments.push(reader.string());\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.data = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.platform = reader.string();\n continue;\n }\n case 11: {\n if (tag !== 88) {\n break;\n }\n\n message.doNotStore = reader.bool();\n continue;\n }\n case 12: {\n if (tag !== 96) {\n break;\n }\n\n message.isSilent = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendCommunicationRequest_SendCommunicationParams {\n return {\n recipient: isSet(object.recipient) ? globalThis.String(object.recipient) : \"\",\n subject: isSet(object.subject) ? globalThis.String(object.subject) : \"\",\n body: isSet(object.body) ? globalThis.String(object.body) : \"\",\n variables: isSet(object.variables) ? globalThis.String(object.variables) : \"\",\n sender: isSet(object.sender) ? globalThis.String(object.sender) : undefined,\n cc: globalThis.Array.isArray(object?.cc) ? object.cc.map((e: any) => globalThis.String(e)) : [],\n replyTo: isSet(object.replyTo) ? globalThis.String(object.replyTo) : undefined,\n attachments: globalThis.Array.isArray(object?.attachments)\n ? object.attachments.map((e: any) => globalThis.String(e))\n : [],\n data: isSet(object.data) ? globalThis.String(object.data) : undefined,\n platform: isSet(object.platform) ? globalThis.String(object.platform) : undefined,\n doNotStore: isSet(object.doNotStore) ? globalThis.Boolean(object.doNotStore) : undefined,\n isSilent: isSet(object.isSilent) ? globalThis.Boolean(object.isSilent) : undefined,\n };\n },\n\n toJSON(message: SendCommunicationRequest_SendCommunicationParams): unknown {\n const obj: any = {};\n if (message.recipient !== \"\") {\n obj.recipient = message.recipient;\n }\n if (message.subject !== \"\") {\n obj.subject = message.subject;\n }\n if (message.body !== \"\") {\n obj.body = message.body;\n }\n if (message.variables !== \"\") {\n obj.variables = message.variables;\n }\n if (message.sender !== undefined) {\n obj.sender = message.sender;\n }\n if (message.cc?.length) {\n obj.cc = message.cc;\n }\n if (message.replyTo !== undefined) {\n obj.replyTo = message.replyTo;\n }\n if (message.attachments?.length) {\n obj.attachments = message.attachments;\n }\n if (message.data !== undefined) {\n obj.data = message.data;\n }\n if (message.platform !== undefined) {\n obj.platform = message.platform;\n }\n if (message.doNotStore !== undefined) {\n obj.doNotStore = message.doNotStore;\n }\n if (message.isSilent !== undefined) {\n obj.isSilent = message.isSilent;\n }\n return obj;\n },\n\n create(\n base?: DeepPartial<SendCommunicationRequest_SendCommunicationParams>,\n ): SendCommunicationRequest_SendCommunicationParams {\n return SendCommunicationRequest_SendCommunicationParams.fromPartial(base ?? {});\n },\n fromPartial(\n object: DeepPartial<SendCommunicationRequest_SendCommunicationParams>,\n ): SendCommunicationRequest_SendCommunicationParams {\n const message = createBaseSendCommunicationRequest_SendCommunicationParams();\n message.recipient = object.recipient ?? \"\";\n message.subject = object.subject ?? \"\";\n message.body = object.body ?? \"\";\n message.variables = object.variables ?? \"\";\n message.sender = object.sender ?? undefined;\n message.cc = object.cc?.map((e) => e) || [];\n message.replyTo = object.replyTo ?? undefined;\n message.attachments = object.attachments?.map((e) => e) || [];\n message.data = object.data ?? undefined;\n message.platform = object.platform ?? undefined;\n message.doNotStore = object.doNotStore ?? undefined;\n message.isSilent = object.isSilent ?? undefined;\n return message;\n },\n};\n\nfunction createBaseSendCommunicationResponse(): SendCommunicationResponse {\n return { messageId: \"\", sentMessageInfo: \"\" };\n}\n\nexport const SendCommunicationResponse: MessageFns<SendCommunicationResponse> = {\n encode(message: SendCommunicationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.messageId !== \"\") {\n writer.uint32(10).string(message.messageId);\n }\n if (message.sentMessageInfo !== \"\") {\n writer.uint32(18).string(message.sentMessageInfo);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendCommunicationResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendCommunicationResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.messageId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.sentMessageInfo = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendCommunicationResponse {\n return {\n messageId: isSet(object.messageId) ? globalThis.String(object.messageId) : \"\",\n sentMessageInfo: isSet(object.sentMessageInfo) ? globalThis.String(object.sentMessageInfo) : \"\",\n };\n },\n\n toJSON(message: SendCommunicationResponse): unknown {\n const obj: any = {};\n if (message.messageId !== \"\") {\n obj.messageId = message.messageId;\n }\n if (message.sentMessageInfo !== \"\") {\n obj.sentMessageInfo = message.sentMessageInfo;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendCommunicationResponse>): SendCommunicationResponse {\n return SendCommunicationResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendCommunicationResponse>): SendCommunicationResponse {\n const message = createBaseSendCommunicationResponse();\n message.messageId = object.messageId ?? \"\";\n message.sentMessageInfo = object.sentMessageInfo ?? \"\";\n return message;\n },\n};\n\nfunction createBaseSendToMultipleChannelsRequest(): SendToMultipleChannelsRequest {\n return { channels: [], strategy: \"\", templateName: \"\", params: undefined };\n}\n\nexport const SendToMultipleChannelsRequest: MessageFns<SendToMultipleChannelsRequest> = {\n encode(message: SendToMultipleChannelsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.channels) {\n writer.uint32(10).string(v!);\n }\n if (message.strategy !== \"\") {\n writer.uint32(18).string(message.strategy);\n }\n if (message.templateName !== \"\") {\n writer.uint32(26).string(message.templateName);\n }\n if (message.params !== undefined) {\n SendToMultipleChannelsRequest_SendCommunicationParams.encode(message.params, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendToMultipleChannelsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendToMultipleChannelsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.channels.push(reader.string());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.strategy = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.templateName = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.params = SendToMultipleChannelsRequest_SendCommunicationParams.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendToMultipleChannelsRequest {\n return {\n channels: globalThis.Array.isArray(object?.channels) ? object.channels.map((e: any) => globalThis.String(e)) : [],\n strategy: isSet(object.strategy) ? globalThis.String(object.strategy) : \"\",\n templateName: isSet(object.templateName) ? globalThis.String(object.templateName) : \"\",\n params: isSet(object.params)\n ? SendToMultipleChannelsRequest_SendCommunicationParams.fromJSON(object.params)\n : undefined,\n };\n },\n\n toJSON(message: SendToMultipleChannelsRequest): unknown {\n const obj: any = {};\n if (message.channels?.length) {\n obj.channels = message.channels;\n }\n if (message.strategy !== \"\") {\n obj.strategy = message.strategy;\n }\n if (message.templateName !== \"\") {\n obj.templateName = message.templateName;\n }\n if (message.params !== undefined) {\n obj.params = SendToMultipleChannelsRequest_SendCommunicationParams.toJSON(message.params);\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendToMultipleChannelsRequest>): SendToMultipleChannelsRequest {\n return SendToMultipleChannelsRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendToMultipleChannelsRequest>): SendToMultipleChannelsRequest {\n const message = createBaseSendToMultipleChannelsRequest();\n message.channels = object.channels?.map((e) => e) || [];\n message.strategy = object.strategy ?? \"\";\n message.templateName = object.templateName ?? \"\";\n message.params = (object.params !== undefined && object.params !== null)\n ? SendToMultipleChannelsRequest_SendCommunicationParams.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseSendToMultipleChannelsRequest_SendCommunicationParams(): SendToMultipleChannelsRequest_SendCommunicationParams {\n return {\n recipient: \"\",\n subject: \"\",\n body: \"\",\n variables: \"\",\n sender: undefined,\n cc: [],\n replyTo: undefined,\n attachments: [],\n data: undefined,\n platform: undefined,\n doNotStore: undefined,\n isSilent: undefined,\n };\n}\n\nexport const SendToMultipleChannelsRequest_SendCommunicationParams: MessageFns<\n SendToMultipleChannelsRequest_SendCommunicationParams\n> = {\n encode(\n message: SendToMultipleChannelsRequest_SendCommunicationParams,\n writer: BinaryWriter = new BinaryWriter(),\n ): BinaryWriter {\n if (message.recipient !== \"\") {\n writer.uint32(10).string(message.recipient);\n }\n if (message.subject !== \"\") {\n writer.uint32(18).string(message.subject);\n }\n if (message.body !== \"\") {\n writer.uint32(26).string(message.body);\n }\n if (message.variables !== \"\") {\n writer.uint32(34).string(message.variables);\n }\n if (message.sender !== undefined) {\n writer.uint32(42).string(message.sender);\n }\n for (const v of message.cc) {\n writer.uint32(50).string(v!);\n }\n if (message.replyTo !== undefined) {\n writer.uint32(58).string(message.replyTo);\n }\n for (const v of message.attachments) {\n writer.uint32(66).string(v!);\n }\n if (message.data !== undefined) {\n writer.uint32(74).string(message.data);\n }\n if (message.platform !== undefined) {\n writer.uint32(82).string(message.platform);\n }\n if (message.doNotStore !== undefined) {\n writer.uint32(88).bool(message.doNotStore);\n }\n if (message.isSilent !== undefined) {\n writer.uint32(96).bool(message.isSilent);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendToMultipleChannelsRequest_SendCommunicationParams {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendToMultipleChannelsRequest_SendCommunicationParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.recipient = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.subject = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.body = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.variables = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.sender = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.cc.push(reader.string());\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.replyTo = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.attachments.push(reader.string());\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.data = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.platform = reader.string();\n continue;\n }\n case 11: {\n if (tag !== 88) {\n break;\n }\n\n message.doNotStore = reader.bool();\n continue;\n }\n case 12: {\n if (tag !== 96) {\n break;\n }\n\n message.isSilent = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendToMultipleChannelsRequest_SendCommunicationParams {\n return {\n recipient: isSet(object.recipient) ? globalThis.String(object.recipient) : \"\",\n subject: isSet(object.subject) ? globalThis.String(object.subject) : \"\",\n body: isSet(object.body) ? globalThis.String(object.body) : \"\",\n variables: isSet(object.variables) ? globalThis.String(object.variables) : \"\",\n sender: isSet(object.sender) ? globalThis.String(object.sender) : undefined,\n cc: globalThis.Array.isArray(object?.cc) ? object.cc.map((e: any) => globalThis.String(e)) : [],\n replyTo: isSet(object.replyTo) ? globalThis.String(object.replyTo) : undefined,\n attachments: globalThis.Array.isArray(object?.attachments)\n ? object.attachments.map((e: any) => globalThis.String(e))\n : [],\n data: isSet(object.data) ? globalThis.String(object.data) : undefined,\n platform: isSet(object.platform) ? globalThis.String(object.platform) : undefined,\n doNotStore: isSet(object.doNotStore) ? globalThis.Boolean(object.doNotStore) : undefined,\n isSilent: isSet(object.isSilent) ? globalThis.Boolean(object.isSilent) : undefined,\n };\n },\n\n toJSON(message: SendToMultipleChannelsRequest_SendCommunicationParams): unknown {\n const obj: any = {};\n if (message.recipient !== \"\") {\n obj.recipient = message.recipient;\n }\n if (message.subject !== \"\") {\n obj.subject = message.subject;\n }\n if (message.body !== \"\") {\n obj.body = message.body;\n }\n if (message.variables !== \"\") {\n obj.variables = message.variables;\n }\n if (message.sender !== undefined) {\n obj.sender = message.sender;\n }\n if (message.cc?.length) {\n obj.cc = message.cc;\n }\n if (message.replyTo !== undefined) {\n obj.replyTo = message.replyTo;\n }\n if (message.attachments?.length) {\n obj.attachments = message.attachments;\n }\n if (message.data !== undefined) {\n obj.data = message.data;\n }\n if (message.platform !== undefined) {\n obj.platform = message.platform;\n }\n if (message.doNotStore !== undefined) {\n obj.doNotStore = message.doNotStore;\n }\n if (message.isSilent !== undefined) {\n obj.isSilent = message.isSilent;\n }\n return obj;\n },\n\n create(\n base?: DeepPartial<SendToMultipleChannelsRequest_SendCommunicationParams>,\n ): SendToMultipleChannelsRequest_SendCommunicationParams {\n return SendToMultipleChannelsRequest_SendCommunicationParams.fromPartial(base ?? {});\n },\n fromPartial(\n object: DeepPartial<SendToMultipleChannelsRequest_SendCommunicationParams>,\n ): SendToMultipleChannelsRequest_SendCommunicationParams {\n const message = createBaseSendToMultipleChannelsRequest_SendCommunicationParams();\n message.recipient = object.recipient ?? \"\";\n message.subject = object.subject ?? \"\";\n message.body = object.body ?? \"\";\n message.variables = object.variables ?? \"\";\n message.sender = object.sender ?? undefined;\n message.cc = object.cc?.map((e) => e) || [];\n message.replyTo = object.replyTo ?? undefined;\n message.attachments = object.attachments?.map((e) => e) || [];\n message.data = object.data ?? undefined;\n message.platform = object.platform ?? undefined;\n message.doNotStore = object.doNotStore ?? undefined;\n message.isSilent = object.isSilent ?? undefined;\n return message;\n },\n};\n\nfunction createBaseSendToMultipleChannelsResponse(): SendToMultipleChannelsResponse {\n return { results: [] };\n}\n\nexport const SendToMultipleChannelsResponse: MessageFns<SendToMultipleChannelsResponse> = {\n encode(message: SendToMultipleChannelsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.results) {\n SendToMultipleChannelsResponse_ChannelResult.encode(v!, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendToMultipleChannelsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendToMultipleChannelsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.results.push(SendToMultipleChannelsResponse_ChannelResult.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendToMultipleChannelsResponse {\n return {\n results: globalThis.Array.isArray(object?.results)\n ? object.results.map((e: any) => SendToMultipleChannelsResponse_ChannelResult.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: SendToMultipleChannelsResponse): unknown {\n const obj: any = {};\n if (message.results?.length) {\n obj.results = message.results.map((e) => SendToMultipleChannelsResponse_ChannelResult.toJSON(e));\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendToMultipleChannelsResponse>): SendToMultipleChannelsResponse {\n return SendToMultipleChannelsResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendToMultipleChannelsResponse>): SendToMultipleChannelsResponse {\n const message = createBaseSendToMultipleChannelsResponse();\n message.results = object.results?.map((e) => SendToMultipleChannelsResponse_ChannelResult.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseSendToMultipleChannelsResponse_ChannelResult(): SendToMultipleChannelsResponse_ChannelResult {\n return { channel: \"\", success: false, messageId: \"\", error: undefined };\n}\n\nexport const SendToMultipleChannelsResponse_ChannelResult: MessageFns<SendToMultipleChannelsResponse_ChannelResult> = {\n encode(\n message: SendToMultipleChannelsResponse_ChannelResult,\n writer: BinaryWriter = new BinaryWriter(),\n ): BinaryWriter {\n if (message.channel !== \"\") {\n writer.uint32(10).string(message.channel);\n }\n if (message.success !== false) {\n writer.uint32(16).bool(message.success);\n }\n if (message.messageId !== \"\") {\n writer.uint32(26).string(message.messageId);\n }\n if (message.error !== undefined) {\n writer.uint32(34).string(message.error);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendToMultipleChannelsResponse_ChannelResult {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendToMultipleChannelsResponse_ChannelResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.channel = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.success = reader.bool();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.messageId = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.error = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendToMultipleChannelsResponse_ChannelResult {\n return {\n channel: isSet(object.channel) ? globalThis.String(object.channel) : \"\",\n success: isSet(object.success) ? globalThis.Boolean(object.success) : false,\n messageId: isSet(object.messageId) ? globalThis.String(object.messageId) : \"\",\n error: isSet(object.error) ? globalThis.String(object.error) : undefined,\n };\n },\n\n toJSON(message: SendToMultipleChannelsResponse_ChannelResult): unknown {\n const obj: any = {};\n if (message.channel !== \"\") {\n obj.channel = message.channel;\n }\n if (message.success !== false) {\n obj.success = message.success;\n }\n if (message.messageId !== \"\") {\n obj.messageId = message.messageId;\n }\n if (message.error !== undefined) {\n obj.error = message.error;\n }\n return obj;\n },\n\n create(\n base?: DeepPartial<SendToMultipleChannelsResponse_ChannelResult>,\n ): SendToMultipleChannelsResponse_ChannelResult {\n return SendToMultipleChannelsResponse_ChannelResult.fromPartial(base ?? {});\n },\n fromPartial(\n object: DeepPartial<SendToMultipleChannelsResponse_ChannelResult>,\n ): SendToMultipleChannelsResponse_ChannelResult {\n const message = createBaseSendToMultipleChannelsResponse_ChannelResult();\n message.channel = object.channel ?? \"\";\n message.success = object.success ?? false;\n message.messageId = object.messageId ?? \"\";\n message.error = object.error ?? undefined;\n return message;\n },\n};\n\nfunction createBaseSendWithFallbackRequest(): SendWithFallbackRequest {\n return { fallbackChain: [], templateName: \"\", params: undefined };\n}\n\nexport const SendWithFallbackRequest: MessageFns<SendWithFallbackRequest> = {\n encode(message: SendWithFallbackRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.fallbackChain) {\n SendWithFallbackRequest_FallbackStep.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.templateName !== \"\") {\n writer.uint32(18).string(message.templateName);\n }\n if (message.params !== undefined) {\n SendWithFallbackRequest_SendCommunicationParams.encode(message.params, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendWithFallbackRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendWithFallbackRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.fallbackChain.push(SendWithFallbackRequest_FallbackStep.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.templateName = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.params = SendWithFallbackRequest_SendCommunicationParams.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendWithFallbackRequest {\n return {\n fallbackChain: globalThis.Array.isArray(object?.fallbackChain)\n ? object.fallbackChain.map((e: any) => SendWithFallbackRequest_FallbackStep.fromJSON(e))\n : [],\n templateName: isSet(object.templateName) ? globalThis.String(object.templateName) : \"\",\n params: isSet(object.params)\n ? SendWithFallbackRequest_SendCommunicationParams.fromJSON(object.params)\n : undefined,\n };\n },\n\n toJSON(message: SendWithFallbackRequest): unknown {\n const obj: any = {};\n if (message.fallbackChain?.length) {\n obj.fallbackChain = message.fallbackChain.map((e) => SendWithFallbackRequest_FallbackStep.toJSON(e));\n }\n if (message.templateName !== \"\") {\n obj.templateName = message.templateName;\n }\n if (message.params !== undefined) {\n obj.params = SendWithFallbackRequest_SendCommunicationParams.toJSON(message.params);\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendWithFallbackRequest>): SendWithFallbackRequest {\n return SendWithFallbackRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendWithFallbackRequest>): SendWithFallbackRequest {\n const message = createBaseSendWithFallbackRequest();\n message.fallbackChain = object.fallbackChain?.map((e) => SendWithFallbackRequest_FallbackStep.fromPartial(e)) || [];\n message.templateName = object.templateName ?? \"\";\n message.params = (object.params !== undefined && object.params !== null)\n ? SendWithFallbackRequest_SendCommunicationParams.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseSendWithFallbackRequest_FallbackStep(): SendWithFallbackRequest_FallbackStep {\n return { channel: \"\", timeout: 0 };\n}\n\nexport const SendWithFallbackRequest_FallbackStep: MessageFns<SendWithFallbackRequest_FallbackStep> = {\n encode(message: SendWithFallbackRequest_FallbackStep, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.channel !== \"\") {\n writer.uint32(10).string(message.channel);\n }\n if (message.timeout !== 0) {\n writer.uint32(16).int32(message.timeout);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendWithFallbackRequest_FallbackStep {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendWithFallbackRequest_FallbackStep();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.channel = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.timeout = reader.int32();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendWithFallbackRequest_FallbackStep {\n return {\n channel: isSet(object.channel) ? globalThis.String(object.channel) : \"\",\n timeout: isSet(object.timeout) ? globalThis.Number(object.timeout) : 0,\n };\n },\n\n toJSON(message: SendWithFallbackRequest_FallbackStep): unknown {\n const obj: any = {};\n if (message.channel !== \"\") {\n obj.channel = message.channel;\n }\n if (message.timeout !== 0) {\n obj.timeout = Math.round(message.timeout);\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendWithFallbackRequest_FallbackStep>): SendWithFallbackRequest_FallbackStep {\n return SendWithFallbackRequest_FallbackStep.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendWithFallbackRequest_FallbackStep>): SendWithFallbackRequest_FallbackStep {\n const message = createBaseSendWithFallbackRequest_FallbackStep();\n message.channel = object.channel ?? \"\";\n message.timeout = object.timeout ?? 0;\n return message;\n },\n};\n\nfunction createBaseSendWithFallbackRequest_SendCommunicationParams(): SendWithFallbackRequest_SendCommunicationParams {\n return {\n recipient: \"\",\n subject: \"\",\n body: \"\",\n variables: \"\",\n sender: undefined,\n cc: [],\n replyTo: undefined,\n attachments: [],\n data: undefined,\n platform: undefined,\n doNotStore: undefined,\n isSilent: undefined,\n };\n}\n\nexport const SendWithFallbackRequest_SendCommunicationParams: MessageFns<\n SendWithFallbackRequest_SendCommunicationParams\n> = {\n encode(\n message: SendWithFallbackRequest_SendCommunicationParams,\n writer: BinaryWriter = new BinaryWriter(),\n ): BinaryWriter {\n if (message.recipient !== \"\") {\n writer.uint32(10).string(message.recipient);\n }\n if (message.subject !== \"\") {\n writer.uint32(18).string(message.subject);\n }\n if (message.body !== \"\") {\n writer.uint32(26).string(message.body);\n }\n if (message.variables !== \"\") {\n writer.uint32(34).string(message.variables);\n }\n if (message.sender !== undefined) {\n writer.uint32(42).string(message.sender);\n }\n for (const v of message.cc) {\n writer.uint32(50).string(v!);\n }\n if (message.replyTo !== undefined) {\n writer.uint32(58).string(message.replyTo);\n }\n for (const v of message.attachments) {\n writer.uint32(66).string(v!);\n }\n if (message.data !== undefined) {\n writer.uint32(74).string(message.data);\n }\n if (message.platform !== undefined) {\n writer.uint32(82).string(message.platform);\n }\n if (message.doNotStore !== undefined) {\n writer.uint32(88).bool(message.doNotStore);\n }\n if (message.isSilent !== undefined) {\n writer.uint32(96).bool(message.isSilent);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendWithFallbackRequest_SendCommunicationParams {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendWithFallbackRequest_SendCommunicationParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.recipient = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.subject = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.body = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.variables = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.sender = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.cc.push(reader.string());\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.replyTo = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.attachments.push(reader.string());\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.data = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.platform = reader.string();\n continue;\n }\n case 11: {\n if (tag !== 88) {\n break;\n }\n\n message.doNotStore = reader.bool();\n continue;\n }\n case 12: {\n if (tag !== 96) {\n break;\n }\n\n message.isSilent = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendWithFallbackRequest_SendCommunicationParams {\n return {\n recipient: isSet(object.recipient) ? globalThis.String(object.recipient) : \"\",\n subject: isSet(object.subject) ? globalThis.String(object.subject) : \"\",\n body: isSet(object.body) ? globalThis.String(object.body) : \"\",\n variables: isSet(object.variables) ? globalThis.String(object.variables) : \"\",\n sender: isSet(object.sender) ? globalThis.String(object.sender) : undefined,\n cc: globalThis.Array.isArray(object?.cc) ? object.cc.map((e: any) => globalThis.String(e)) : [],\n replyTo: isSet(object.replyTo) ? globalThis.String(object.replyTo) : undefined,\n attachments: globalThis.Array.isArray(object?.attachments)\n ? object.attachments.map((e: any) => globalThis.String(e))\n : [],\n data: isSet(object.data) ? globalThis.String(object.data) : undefined,\n platform: isSet(object.platform) ? globalThis.String(object.platform) : undefined,\n doNotStore: isSet(object.doNotStore) ? globalThis.Boolean(object.doNotStore) : undefined,\n isSilent: isSet(object.isSilent) ? globalThis.Boolean(object.isSilent) : undefined,\n };\n },\n\n toJSON(message: SendWithFallbackRequest_SendCommunicationParams): unknown {\n const obj: any = {};\n if (message.recipient !== \"\") {\n obj.recipient = message.recipient;\n }\n if (message.subject !== \"\") {\n obj.subject = message.subject;\n }\n if (message.body !== \"\") {\n obj.body = message.body;\n }\n if (message.variables !== \"\") {\n obj.variables = message.variables;\n }\n if (message.sender !== undefined) {\n obj.sender = message.sender;\n }\n if (message.cc?.length) {\n obj.cc = message.cc;\n }\n if (message.replyTo !== undefined) {\n obj.replyTo = message.replyTo;\n }\n if (message.attachments?.length) {\n obj.attachments = message.attachments;\n }\n if (message.data !== undefined) {\n obj.data = message.data;\n }\n if (message.platform !== undefined) {\n obj.platform = message.platform;\n }\n if (message.doNotStore !== undefined) {\n obj.doNotStore = message.doNotStore;\n }\n if (message.isSilent !== undefined) {\n obj.isSilent = message.isSilent;\n }\n return obj;\n },\n\n create(\n base?: DeepPartial<SendWithFallbackRequest_SendCommunicationParams>,\n ): SendWithFallbackRequest_SendCommunicationParams {\n return SendWithFallbackRequest_SendCommunicationParams.fromPartial(base ?? {});\n },\n fromPartial(\n object: DeepPartial<SendWithFallbackRequest_SendCommunicationParams>,\n ): SendWithFallbackRequest_SendCommunicationParams {\n const message = createBaseSendWithFallbackRequest_SendCommunicationParams();\n message.recipient = object.recipient ?? \"\";\n message.subject = object.subject ?? \"\";\n message.body = object.body ?? \"\";\n message.variables = object.variables ?? \"\";\n message.sender = object.sender ?? undefined;\n message.cc = object.cc?.map((e) => e) || [];\n message.replyTo = object.replyTo ?? undefined;\n message.attachments = object.attachments?.map((e) => e) || [];\n message.data = object.data ?? undefined;\n message.platform = object.platform ?? undefined;\n message.doNotStore = object.doNotStore ?? undefined;\n message.isSilent = object.isSilent ?? undefined;\n return message;\n },\n};\n\nfunction createBaseSendWithFallbackResponse(): SendWithFallbackResponse {\n return { successfulChannel: \"\", messageId: \"\", attempts: [] };\n}\n\nexport const SendWithFallbackResponse: MessageFns<SendWithFallbackResponse> = {\n encode(message: SendWithFallbackResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.successfulChannel !== \"\") {\n writer.uint32(10).string(message.successfulChannel);\n }\n if (message.messageId !== \"\") {\n writer.uint32(18).string(message.messageId);\n }\n for (const v of message.attempts) {\n SendWithFallbackResponse_ChannelResult.encode(v!, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendWithFallbackResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendWithFallbackResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.successfulChannel = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.messageId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.attempts.push(SendWithFallbackResponse_ChannelResult.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendWithFallbackResponse {\n return {\n successfulChannel: isSet(object.successfulChannel) ? globalThis.String(object.successfulChannel) : \"\",\n messageId: isSet(object.messageId) ? globalThis.String(object.messageId) : \"\",\n attempts: globalThis.Array.isArray(object?.attempts)\n ? object.attempts.map((e: any) => SendWithFallbackResponse_ChannelResult.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: SendWithFallbackResponse): unknown {\n const obj: any = {};\n if (message.successfulChannel !== \"\") {\n obj.successfulChannel = message.successfulChannel;\n }\n if (message.messageId !== \"\") {\n obj.messageId = message.messageId;\n }\n if (message.attempts?.length) {\n obj.attempts = message.attempts.map((e) => SendWithFallbackResponse_ChannelResult.toJSON(e));\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendWithFallbackResponse>): SendWithFallbackResponse {\n return SendWithFallbackResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendWithFallbackResponse>): SendWithFallbackResponse {\n const message = createBaseSendWithFallbackResponse();\n message.successfulChannel = object.successfulChannel ?? \"\";\n message.messageId = object.messageId ?? \"\";\n message.attempts = object.attempts?.map((e) => SendWithFallbackResponse_ChannelResult.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseSendWithFallbackResponse_ChannelResult(): SendWithFallbackResponse_ChannelResult {\n return { channel: \"\", success: false, messageId: \"\", error: undefined };\n}\n\nexport const SendWithFallbackResponse_ChannelResult: MessageFns<SendWithFallbackResponse_ChannelResult> = {\n encode(message: SendWithFallbackResponse_ChannelResult, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.channel !== \"\") {\n writer.uint32(10).string(message.channel);\n }\n if (message.success !== false) {\n writer.uint32(16).bool(message.success);\n }\n if (message.messageId !== \"\") {\n writer.uint32(26).string(message.messageId);\n }\n if (message.error !== undefined) {\n writer.uint32(34).string(message.error);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SendWithFallbackResponse_ChannelResult {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSendWithFallbackResponse_ChannelResult();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.channel = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.success = reader.bool();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.messageId = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.error = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SendWithFallbackResponse_ChannelResult {\n return {\n channel: isSet(object.channel) ? globalThis.String(object.channel) : \"\",\n success: isSet(object.success) ? globalThis.Boolean(object.success) : false,\n messageId: isSet(object.messageId) ? globalThis.String(object.messageId) : \"\",\n error: isSet(object.error) ? globalThis.String(object.error) : undefined,\n };\n },\n\n toJSON(message: SendWithFallbackResponse_ChannelResult): unknown {\n const obj: any = {};\n if (message.channel !== \"\") {\n obj.channel = message.channel;\n }\n if (message.success !== false) {\n obj.success = message.success;\n }\n if (message.messageId !== \"\") {\n obj.messageId = message.messageId;\n }\n if (message.error !== undefined) {\n obj.error = message.error;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SendWithFallbackResponse_ChannelResult>): SendWithFallbackResponse_ChannelResult {\n return SendWithFallbackResponse_ChannelResult.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SendWithFallbackResponse_ChannelResult>): SendWithFallbackResponse_ChannelResult {\n const message = createBaseSendWithFallbackResponse_ChannelResult();\n message.channel = object.channel ?? \"\";\n message.success = object.success ?? false;\n message.messageId = object.messageId ?? \"\";\n message.error = object.error ?? undefined;\n return message;\n },\n};\n\nfunction createBaseRegisterCommunicationTemplateRequest(): RegisterCommunicationTemplateRequest {\n return { name: \"\", template: undefined };\n}\n\nexport const RegisterCommunicationTemplateRequest: MessageFns<RegisterCommunicationTemplateRequest> = {\n encode(message: RegisterCommunicationTemplateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.template !== undefined) {\n RegisterCommunicationTemplateRequest_CommunicationTemplate.encode(message.template, writer.uint32(18).fork())\n .join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisterCommunicationTemplateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterCommunicationTemplateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.template = RegisterCommunicationTemplateRequest_CommunicationTemplate.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterCommunicationTemplateRequest {\n return {\n name: isSet(object.name) ? globalThis.String(object.name) : \"\",\n template: isSet(object.template)\n ? RegisterCommunicationTemplateRequest_CommunicationTemplate.fromJSON(object.template)\n : undefined,\n };\n },\n\n toJSON(message: RegisterCommunicationTemplateRequest): unknown {\n const obj: any = {};\n if (message.name !== \"\") {\n obj.name = message.name;\n }\n if (message.template !== undefined) {\n obj.template = RegisterCommunicationTemplateRequest_CommunicationTemplate.toJSON(message.template);\n }\n return obj;\n },\n\n create(base?: DeepPartial<RegisterCommunicationTemplateRequest>): RegisterCommunicationTemplateRequest {\n return RegisterCommunicationTemplateRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<RegisterCommunicationTemplateRequest>): RegisterCommunicationTemplateRequest {\n const message = createBaseRegisterCommunicationTemplateRequest();\n message.name = object.name ?? \"\";\n message.template = (object.template !== undefined && object.template !== null)\n ? RegisterCommunicationTemplateRequest_CommunicationTemplate.fromPartial(object.template)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseRegisterCommunicationTemplateRequest_CommunicationTemplate(): RegisterCommunicationTemplateRequest_CommunicationTemplate {\n return { email: undefined, push: undefined, sms: undefined };\n}\n\nexport const RegisterCommunicationTemplateRequest_CommunicationTemplate: MessageFns<\n RegisterCommunicationTemplateRequest_CommunicationTemplate\n> = {\n encode(\n message: RegisterCommunicationTemplateRequest_CommunicationTemplate,\n writer: BinaryWriter = new BinaryWriter(),\n ): BinaryWriter {\n if (message.email !== undefined) {\n RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate.encode(\n message.email,\n writer.uint32(10).fork(),\n ).join();\n }\n if (message.push !== undefined) {\n RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate.encode(\n message.push,\n writer.uint32(18).fork(),\n ).join();\n }\n if (message.sms !== undefined) {\n RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate.encode(\n message.sms,\n writer.uint32(26).fork(),\n ).join();\n }\n return writer;\n },\n\n decode(\n input: BinaryReader | Uint8Array,\n length?: number,\n ): RegisterCommunicationTemplateRequest_CommunicationTemplate {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterCommunicationTemplateRequest_CommunicationTemplate();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.email = RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate.decode(\n reader,\n reader.uint32(),\n );\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.push = RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate.decode(\n reader,\n reader.uint32(),\n );\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.sms = RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate.decode(\n reader,\n reader.uint32(),\n );\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterCommunicationTemplateRequest_CommunicationTemplate {\n return {\n email: isSet(object.email)\n ? RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate.fromJSON(object.email)\n : undefined,\n push: isSet(object.push)\n ? RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate.fromJSON(object.push)\n : undefined,\n sms: isSet(object.sms)\n ? RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate.fromJSON(object.sms)\n : undefined,\n };\n },\n\n toJSON(message: RegisterCommunicationTemplateRequest_CommunicationTemplate): unknown {\n const obj: any = {};\n if (message.email !== undefined) {\n obj.email = RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate.toJSON(message.email);\n }\n if (message.push !== undefined) {\n obj.push = RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate.toJSON(message.push);\n }\n if (message.sms !== undefined) {\n obj.sms = RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate.toJSON(message.sms);\n }\n return obj;\n },\n\n create(\n base?: DeepPartial<RegisterCommunicationTemplateRequest_CommunicationTemplate>,\n ): RegisterCommunicationTemplateRequest_CommunicationTemplate {\n return RegisterCommunicationTemplateRequest_CommunicationTemplate.fromPartial(base ?? {});\n },\n fromPartial(\n object: DeepPartial<RegisterCommunicationTemplateRequest_CommunicationTemplate>,\n ): RegisterCommunicationTemplateRequest_CommunicationTemplate {\n const message = createBaseRegisterCommunicationTemplateRequest_CommunicationTemplate();\n message.email = (object.email !== undefined && object.email !== null)\n ? RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate.fromPartial(object.email)\n : undefined;\n message.push = (object.push !== undefined && object.push !== null)\n ? RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate.fromPartial(object.push)\n : undefined;\n message.sms = (object.sms !== undefined && object.sms !== null)\n ? RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate.fromPartial(object.sms)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseRegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate(): RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate {\n return { subject: \"\", body: \"\", variables: [], sender: undefined };\n}\n\nexport const RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate: MessageFns<\n RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate\n> = {\n encode(\n message: RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate,\n writer: BinaryWriter = new BinaryWriter(),\n ): BinaryWriter {\n if (message.subject !== \"\") {\n writer.uint32(10).string(message.subject);\n }\n if (message.body !== \"\") {\n writer.uint32(18).string(message.body);\n }\n for (const v of message.variables) {\n writer.uint32(26).string(v!);\n }\n if (message.sender !== undefined) {\n writer.uint32(34).string(message.sender);\n }\n return writer;\n },\n\n decode(\n input: BinaryReader | Uint8Array,\n length?: number,\n ): RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.subject = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.body = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.variables.push(reader.string());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.sender = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate {\n return {\n subject: isSet(object.subject) ? globalThis.String(object.subject) : \"\",\n body: isSet(object.body) ? globalThis.String(object.body) : \"\",\n variables: globalThis.Array.isArray(object?.variables)\n ? object.variables.map((e: any) => globalThis.String(e))\n : [],\n sender: isSet(object.sender) ? globalThis.String(object.sender) : undefined,\n };\n },\n\n toJSON(message: RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate): unknown {\n const obj: any = {};\n if (message.subject !== \"\") {\n obj.subject = message.subject;\n }\n if (message.body !== \"\") {\n obj.body = message.body;\n }\n if (message.variables?.length) {\n obj.variables = message.variables;\n }\n if (message.sender !== undefined) {\n obj.sender = message.sender;\n }\n return obj;\n },\n\n create(\n base?: DeepPartial<RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate>,\n ): RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate {\n return RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate.fromPartial(base ?? {});\n },\n fromPartial(\n object: DeepPartial<RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate>,\n ): RegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate {\n const message = createBaseRegisterCommunicationTemplateRequest_CommunicationTemplate_EmailTemplate();\n message.subject = object.subject ?? \"\";\n message.body = object.body ?? \"\";\n message.variables = object.variables?.map((e) => e) || [];\n message.sender = object.sender ?? undefined;\n return message;\n },\n};\n\nfunction createBaseRegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate(): RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate {\n return { title: \"\", body: \"\", variables: [] };\n}\n\nexport const RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate: MessageFns<\n RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate\n> = {\n encode(\n message: RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate,\n writer: BinaryWriter = new BinaryWriter(),\n ): BinaryWriter {\n if (message.title !== \"\") {\n writer.uint32(10).string(message.title);\n }\n if (message.body !== \"\") {\n writer.uint32(18).string(message.body);\n }\n for (const v of message.variables) {\n writer.uint32(26).string(v!);\n }\n return writer;\n },\n\n decode(\n input: BinaryReader | Uint8Array,\n length?: number,\n ): RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.title = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.body = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.variables.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate {\n return {\n title: isSet(object.title) ? globalThis.String(object.title) : \"\",\n body: isSet(object.body) ? globalThis.String(object.body) : \"\",\n variables: globalThis.Array.isArray(object?.variables)\n ? object.variables.map((e: any) => globalThis.String(e))\n : [],\n };\n },\n\n toJSON(message: RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate): unknown {\n const obj: any = {};\n if (message.title !== \"\") {\n obj.title = message.title;\n }\n if (message.body !== \"\") {\n obj.body = message.body;\n }\n if (message.variables?.length) {\n obj.variables = message.variables;\n }\n return obj;\n },\n\n create(\n base?: DeepPartial<RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate>,\n ): RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate {\n return RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate.fromPartial(base ?? {});\n },\n fromPartial(\n object: DeepPartial<RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate>,\n ): RegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate {\n const message = createBaseRegisterCommunicationTemplateRequest_CommunicationTemplate_PushTemplate();\n message.title = object.title ?? \"\";\n message.body = object.body ?? \"\";\n message.variables = object.variables?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseRegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate(): RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate {\n return { message: \"\", variables: [] };\n}\n\nexport const RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate: MessageFns<\n RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate\n> = {\n encode(\n message: RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate,\n writer: BinaryWriter = new BinaryWriter(),\n ): BinaryWriter {\n if (message.message !== \"\") {\n writer.uint32(10).string(message.message);\n }\n for (const v of message.variables) {\n writer.uint32(18).string(v!);\n }\n return writer;\n },\n\n decode(\n input: BinaryReader | Uint8Array,\n length?: number,\n ): RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.message = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.variables.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate {\n return {\n message: isSet(object.message) ? globalThis.String(object.message) : \"\",\n variables: globalThis.Array.isArray(object?.variables)\n ? object.variables.map((e: any) => globalThis.String(e))\n : [],\n };\n },\n\n toJSON(message: RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate): unknown {\n const obj: any = {};\n if (message.message !== \"\") {\n obj.message = message.message;\n }\n if (message.variables?.length) {\n obj.variables = message.variables;\n }\n return obj;\n },\n\n create(\n base?: DeepPartial<RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate>,\n ): RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate {\n return RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate.fromPartial(base ?? {});\n },\n fromPartial(\n object: DeepPartial<RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate>,\n ): RegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate {\n const message = createBaseRegisterCommunicationTemplateRequest_CommunicationTemplate_SmsTemplate();\n message.message = object.message ?? \"\";\n message.variables = object.variables?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseRegisterCommunicationTemplateResponse(): RegisterCommunicationTemplateResponse {\n return { template: \"\" };\n}\n\nexport const RegisterCommunicationTemplateResponse: MessageFns<RegisterCommunicationTemplateResponse> = {\n encode(message: RegisterCommunicationTemplateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.template !== \"\") {\n writer.uint32(10).string(message.template);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisterCommunicationTemplateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterCommunicationTemplateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.template = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterCommunicationTemplateResponse {\n return { template: isSet(object.template) ? globalThis.String(object.template) : \"\" };\n },\n\n toJSON(message: RegisterCommunicationTemplateResponse): unknown {\n const obj: any = {};\n if (message.template !== \"\") {\n obj.template = message.template;\n }\n return obj;\n },\n\n create(base?: DeepPartial<RegisterCommunicationTemplateResponse>): RegisterCommunicationTemplateResponse {\n return RegisterCommunicationTemplateResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<RegisterCommunicationTemplateResponse>): RegisterCommunicationTemplateResponse {\n const message = createBaseRegisterCommunicationTemplateResponse();\n message.template = object.template ?? \"\";\n return message;\n },\n};\n\nfunction createBaseGetMessageStatusRequest(): GetMessageStatusRequest {\n return { messageId: \"\", channel: \"\" };\n}\n\nexport const GetMessageStatusRequest: MessageFns<GetMessageStatusRequest> = {\n encode(message: GetMessageStatusRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.messageId !== \"\") {\n writer.uint32(10).string(message.messageId);\n }\n if (message.channel !== \"\") {\n writer.uint32(18).string(message.channel);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetMessageStatusRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetMessageStatusRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.messageId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channel = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetMessageStatusRequest {\n return {\n messageId: isSet(object.messageId) ? globalThis.String(object.messageId) : \"\",\n channel: isSet(object.channel) ? globalThis.String(object.channel) : \"\",\n };\n },\n\n toJSON(message: GetMessageStatusRequest): unknown {\n const obj: any = {};\n if (message.messageId !== \"\") {\n obj.messageId = message.messageId;\n }\n if (message.channel !== \"\") {\n obj.channel = message.channel;\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetMessageStatusRequest>): GetMessageStatusRequest {\n return GetMessageStatusRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetMessageStatusRequest>): GetMessageStatusRequest {\n const message = createBaseGetMessageStatusRequest();\n message.messageId = object.messageId ?? \"\";\n message.channel = object.channel ?? \"\";\n return message;\n },\n};\n\nfunction createBaseGetMessageStatusResponse(): GetMessageStatusResponse {\n return { statusInfo: \"\" };\n}\n\nexport const GetMessageStatusResponse: MessageFns<GetMessageStatusResponse> = {\n encode(message: GetMessageStatusResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.statusInfo !== \"\") {\n writer.uint32(10).string(message.statusInfo);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetMessageStatusResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetMessageStatusResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.statusInfo = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetMessageStatusResponse {\n return { statusInfo: isSet(object.statusInfo) ? globalThis.String(object.statusInfo) : \"\" };\n },\n\n toJSON(message: GetMessageStatusResponse): unknown {\n const obj: any = {};\n if (message.statusInfo !== \"\") {\n obj.statusInfo = message.statusInfo;\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetMessageStatusResponse>): GetMessageStatusResponse {\n return GetMessageStatusResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetMessageStatusResponse>): GetMessageStatusResponse {\n const message = createBaseGetMessageStatusResponse();\n message.statusInfo = object.statusInfo ?? \"\";\n return message;\n },\n};\n\n/** Unified Communications Service */\nexport type CommunicationsDefinition = typeof CommunicationsDefinition;\nexport const CommunicationsDefinition = {\n name: \"Communications\",\n fullName: \"communications.Communications\",\n methods: {\n /** Legacy Email endpoints */\n registerTemplate: {\n name: \"RegisterTemplate\",\n requestType: RegisterTemplateRequest as typeof RegisterTemplateRequest,\n requestStream: false,\n responseType: RegisterTemplateResponse as typeof RegisterTemplateResponse,\n responseStream: false,\n options: {},\n },\n updateTemplate: {\n name: \"UpdateTemplate\",\n requestType: UpdateTemplateRequest as typeof UpdateTemplateRequest,\n requestStream: false,\n responseType: RegisterTemplateResponse as typeof RegisterTemplateResponse,\n responseStream: false,\n options: {},\n },\n sendEmail: {\n name: \"SendEmail\",\n requestType: SendEmailRequest as typeof SendEmailRequest,\n requestStream: false,\n responseType: SendEmailResponse as typeof SendEmailResponse,\n responseStream: false,\n options: {},\n },\n resendEmail: {\n name: \"ResendEmail\",\n requestType: ResendEmailRequest as typeof ResendEmailRequest,\n requestStream: false,\n responseType: ResendEmailResponse as typeof ResendEmailResponse,\n responseStream: false,\n options: {},\n },\n getEmailStatus: {\n name: \"GetEmailStatus\",\n requestType: GetEmailStatusRequest as typeof GetEmailStatusRequest,\n requestStream: false,\n responseType: GetEmailStatusResponse as typeof GetEmailStatusResponse,\n responseStream: false,\n options: {},\n },\n /** Legacy Push Notifications endpoints */\n setNotificationToken: {\n name: \"SetNotificationToken\",\n requestType: SetNotificationTokenRequest as typeof SetNotificationTokenRequest,\n requestStream: false,\n responseType: SetNotificationTokenResponse as typeof SetNotificationTokenResponse,\n responseStream: false,\n options: {},\n },\n getNotificationTokens: {\n name: \"GetNotificationTokens\",\n requestType: GetNotificationTokensRequest as typeof GetNotificationTokensRequest,\n requestStream: false,\n responseType: GetNotificationTokensResponse as typeof GetNotificationTokensResponse,\n responseStream: false,\n options: {},\n },\n sendNotification: {\n name: \"SendNotification\",\n requestType: SendNotificationRequest as typeof SendNotificationRequest,\n requestStream: false,\n responseType: SendNotificationResponse as typeof SendNotificationResponse,\n responseStream: false,\n options: {},\n },\n sendNotificationToManyDevices: {\n name: \"SendNotificationToManyDevices\",\n requestType: SendNotificationToManyDevicesRequest as typeof SendNotificationToManyDevicesRequest,\n requestStream: false,\n responseType: SendNotificationResponse as typeof SendNotificationResponse,\n responseStream: false,\n options: {},\n },\n sendManyNotifications: {\n name: \"SendManyNotifications\",\n requestType: SendManyNotificationsRequest as typeof SendManyNotificationsRequest,\n requestStream: false,\n responseType: SendNotificationResponse as typeof SendNotificationResponse,\n responseStream: false,\n options: {},\n },\n /** Legacy SMS endpoints */\n sendSms: {\n name: \"SendSms\",\n requestType: SendSmsRequest as typeof SendSmsRequest,\n requestStream: false,\n responseType: SendSmsResponse as typeof SendSmsResponse,\n responseStream: false,\n options: {},\n },\n sendVerificationCode: {\n name: \"SendVerificationCode\",\n requestType: SendVerificationCodeRequest as typeof SendVerificationCodeRequest,\n requestStream: false,\n responseType: SendVerificationCodeResponse as typeof SendVerificationCodeResponse,\n responseStream: false,\n options: {},\n },\n verify: {\n name: \"Verify\",\n requestType: VerifyRequest as typeof VerifyRequest,\n requestStream: false,\n responseType: VerifyResponse as typeof VerifyResponse,\n responseStream: false,\n options: {},\n },\n /** New unified endpoints */\n sendCommunication: {\n name: \"SendCommunication\",\n requestType: SendCommunicationRequest as typeof SendCommunicationRequest,\n requestStream: false,\n responseType: SendCommunicationResponse as typeof SendCommunicationResponse,\n responseStream: false,\n options: {},\n },\n sendToMultipleChannels: {\n name: \"SendToMultipleChannels\",\n requestType: SendToMultipleChannelsRequest as typeof SendToMultipleChannelsRequest,\n requestStream: false,\n responseType: SendToMultipleChannelsResponse as typeof SendToMultipleChannelsResponse,\n responseStream: false,\n options: {},\n },\n sendWithFallback: {\n name: \"SendWithFallback\",\n requestType: SendWithFallbackRequest as typeof SendWithFallbackRequest,\n requestStream: false,\n responseType: SendWithFallbackResponse as typeof SendWithFallbackResponse,\n responseStream: false,\n options: {},\n },\n registerCommunicationTemplate: {\n name: \"RegisterCommunicationTemplate\",\n requestType: RegisterCommunicationTemplateRequest as typeof RegisterCommunicationTemplateRequest,\n requestStream: false,\n responseType: RegisterCommunicationTemplateResponse as typeof RegisterCommunicationTemplateResponse,\n responseStream: false,\n options: {},\n },\n getMessageStatus: {\n name: \"GetMessageStatus\",\n requestType: GetMessageStatusRequest as typeof GetMessageStatusRequest,\n requestStream: false,\n responseType: GetMessageStatusResponse as typeof GetMessageStatusResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\nfunction bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from((globalThis as any).Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return (globalThis as any).Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.6\n// protoc v5.29.6\n// source: core.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport { Empty } from \"./google/protobuf/empty.js\";\n\nexport interface RegisterAdminRouteRequest {\n routes: RegisterAdminRouteRequest_PathDefinition[];\n routerUrl?: string | undefined;\n}\n\nexport interface RegisterAdminRouteRequest_ErrorDefinition {\n conduitCode: string;\n grpcCode: number;\n message: string;\n description: string;\n}\n\nexport interface RegisterAdminRouteRequest_PathDefinition {\n options: RegisterAdminRouteRequest_ConduitRouteOptions | undefined;\n returns?: RegisterAdminRouteRequest_ConduitRouteReturnDefinition | undefined;\n grpcFunction?: string | undefined;\n isMiddleware?: boolean | undefined;\n events?: string | undefined;\n proxy?: RegisterAdminRouteRequest_ProxyRouteOptions | undefined;\n}\n\nexport interface RegisterAdminRouteRequest_ConduitRouteOptions {\n queryParams?: string | undefined;\n bodyParams?: string | undefined;\n urlParams?: string | undefined;\n action?: string | undefined;\n path: string;\n name?: string | undefined;\n description?: string | undefined;\n middlewares: string[];\n cacheControl?: string | undefined;\n errors: RegisterAdminRouteRequest_ErrorDefinition[];\n mcp?: boolean | undefined;\n strictParams?: boolean | undefined;\n rateLimit?: string | undefined;\n}\n\nexport interface RegisterAdminRouteRequest_ProxyRouteOptions {\n target?: string | undefined;\n changeOrigin?: boolean | undefined;\n secure?: boolean | undefined;\n context?: string | undefined;\n pathRewrite?: string | undefined;\n headers?: string | undefined;\n proxyTimeout?: number | undefined;\n cookieDomainRewrite?: string | undefined;\n autoRewrite?: boolean | undefined;\n followRedirects?: boolean | undefined;\n xfwd?: boolean | undefined;\n ws?: boolean | undefined;\n router?: string | undefined;\n preserveHeaderKeyCase?: boolean | undefined;\n}\n\nexport interface RegisterAdminRouteRequest_ConduitRouteReturnDefinition {\n name: string;\n fields: string;\n}\n\nexport interface PatchRouteMiddlewaresRequest {\n path: string;\n action: string;\n middlewares: string[];\n}\n\nexport interface ModuleHealthRequest {\n moduleName: string;\n url: string;\n /** [0, 1, 2] */\n status: number;\n}\n\nexport interface ModuleByNameRequest {\n name: string;\n}\n\nexport interface ModuleByNameResponse {\n moduleUrl: string;\n}\n\nexport interface RegisterModuleRequest {\n moduleName: string;\n url: string;\n /** [0, 1, 2] */\n healthStatus: number;\n}\n\nexport interface RegisterModuleResponse {\n result: boolean;\n}\n\nexport interface ModuleListResponse {\n modules: ModuleListResponse_ModuleResponse[];\n}\n\nexport interface ModuleListResponse_ModuleResponse {\n moduleName: string;\n url: string;\n serving: boolean;\n}\n\nexport interface ModuleExistsRequest {\n moduleName: string;\n}\n\nexport interface ModuleExistsResponse {\n url: string;\n}\n\nexport interface GetConfigRequest {\n key: string;\n}\n\nexport interface GetRedisDetailsResponse {\n redisHost?: string | undefined;\n redisPort?: number | undefined;\n redisUsername?: string | undefined;\n redisPassword?:\n | string\n | undefined;\n /** temporarily keeping these^ around to avoid a breaking change */\n redisConfig?: string | undefined;\n standalone?: string | undefined;\n cluster?: string | undefined;\n}\n\nexport interface GetConfigResponse {\n data: string;\n}\n\nexport interface UpdateConfigRequest {\n config: string;\n schema: string;\n override: boolean;\n}\n\nexport interface UpdateConfigResponse {\n result: string;\n}\n\nexport interface RegisterModulesConfigRequest {\n newModulesConfigSchema: string;\n}\n\nfunction createBaseRegisterAdminRouteRequest(): RegisterAdminRouteRequest {\n return { routes: [], routerUrl: undefined };\n}\n\nexport const RegisterAdminRouteRequest: MessageFns<RegisterAdminRouteRequest> = {\n encode(message: RegisterAdminRouteRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.routes) {\n RegisterAdminRouteRequest_PathDefinition.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.routerUrl !== undefined) {\n writer.uint32(26).string(message.routerUrl);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisterAdminRouteRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterAdminRouteRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.routes.push(RegisterAdminRouteRequest_PathDefinition.decode(reader, reader.uint32()));\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.routerUrl = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterAdminRouteRequest {\n return {\n routes: globalThis.Array.isArray(object?.routes)\n ? object.routes.map((e: any) => RegisterAdminRouteRequest_PathDefinition.fromJSON(e))\n : [],\n routerUrl: isSet(object.routerUrl) ? globalThis.String(object.routerUrl) : undefined,\n };\n },\n\n toJSON(message: RegisterAdminRouteRequest): unknown {\n const obj: any = {};\n if (message.routes?.length) {\n obj.routes = message.routes.map((e) => RegisterAdminRouteRequest_PathDefinition.toJSON(e));\n }\n if (message.routerUrl !== undefined) {\n obj.routerUrl = message.routerUrl;\n }\n return obj;\n },\n\n create(base?: DeepPartial<RegisterAdminRouteRequest>): RegisterAdminRouteRequest {\n return RegisterAdminRouteRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<RegisterAdminRouteRequest>): RegisterAdminRouteRequest {\n const message = createBaseRegisterAdminRouteRequest();\n message.routes = object.routes?.map((e) => RegisterAdminRouteRequest_PathDefinition.fromPartial(e)) || [];\n message.routerUrl = object.routerUrl ?? undefined;\n return message;\n },\n};\n\nfunction createBaseRegisterAdminRouteRequest_ErrorDefinition(): RegisterAdminRouteRequest_ErrorDefinition {\n return { conduitCode: \"\", grpcCode: 0, message: \"\", description: \"\" };\n}\n\nexport const RegisterAdminRouteRequest_ErrorDefinition: MessageFns<RegisterAdminRouteRequest_ErrorDefinition> = {\n encode(message: RegisterAdminRouteRequest_ErrorDefinition, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.conduitCode !== \"\") {\n writer.uint32(10).string(message.conduitCode);\n }\n if (message.grpcCode !== 0) {\n writer.uint32(16).int32(message.grpcCode);\n }\n if (message.message !== \"\") {\n writer.uint32(26).string(message.message);\n }\n if (message.description !== \"\") {\n writer.uint32(34).string(message.description);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisterAdminRouteRequest_ErrorDefinition {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterAdminRouteRequest_ErrorDefinition();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.conduitCode = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.grpcCode = reader.int32();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.message = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.description = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterAdminRouteRequest_ErrorDefinition {\n return {\n conduitCode: isSet(object.conduitCode) ? globalThis.String(object.conduitCode) : \"\",\n grpcCode: isSet(object.grpcCode) ? globalThis.Number(object.grpcCode) : 0,\n message: isSet(object.message) ? globalThis.String(object.message) : \"\",\n description: isSet(object.description) ? globalThis.String(object.description) : \"\",\n };\n },\n\n toJSON(message: RegisterAdminRouteRequest_ErrorDefinition): unknown {\n const obj: any = {};\n if (message.conduitCode !== \"\") {\n obj.conduitCode = message.conduitCode;\n }\n if (message.grpcCode !== 0) {\n obj.grpcCode = Math.round(message.grpcCode);\n }\n if (message.message !== \"\") {\n obj.message = message.message;\n }\n if (message.description !== \"\") {\n obj.description = message.description;\n }\n return obj;\n },\n\n create(base?: DeepPartial<RegisterAdminRouteRequest_ErrorDefinition>): RegisterAdminRouteRequest_ErrorDefinition {\n return RegisterAdminRouteRequest_ErrorDefinition.fromPartial(base ?? {});\n },\n fromPartial(\n object: DeepPartial<RegisterAdminRouteRequest_ErrorDefinition>,\n ): RegisterAdminRouteRequest_ErrorDefinition {\n const message = createBaseRegisterAdminRouteRequest_ErrorDefinition();\n message.conduitCode = object.conduitCode ?? \"\";\n message.grpcCode = object.grpcCode ?? 0;\n message.message = object.message ?? \"\";\n message.description = object.description ?? \"\";\n return message;\n },\n};\n\nfunction createBaseRegisterAdminRouteRequest_PathDefinition(): RegisterAdminRouteRequest_PathDefinition {\n return {\n options: undefined,\n returns: undefined,\n grpcFunction: undefined,\n isMiddleware: undefined,\n events: undefined,\n proxy: undefined,\n };\n}\n\nexport const RegisterAdminRouteRequest_PathDefinition: MessageFns<RegisterAdminRouteRequest_PathDefinition> = {\n encode(message: RegisterAdminRouteRequest_PathDefinition, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.options !== undefined) {\n RegisterAdminRouteRequest_ConduitRouteOptions.encode(message.options, writer.uint32(10).fork()).join();\n }\n if (message.returns !== undefined) {\n RegisterAdminRouteRequest_ConduitRouteReturnDefinition.encode(message.returns, writer.uint32(18).fork()).join();\n }\n if (message.grpcFunction !== undefined) {\n writer.uint32(26).string(message.grpcFunction);\n }\n if (message.isMiddleware !== undefined) {\n writer.uint32(32).bool(message.isMiddleware);\n }\n if (message.events !== undefined) {\n writer.uint32(42).string(message.events);\n }\n if (message.proxy !== undefined) {\n RegisterAdminRouteRequest_ProxyRouteOptions.encode(message.proxy, writer.uint32(50).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisterAdminRouteRequest_PathDefinition {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterAdminRouteRequest_PathDefinition();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.options = RegisterAdminRouteRequest_ConduitRouteOptions.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.returns = RegisterAdminRouteRequest_ConduitRouteReturnDefinition.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.grpcFunction = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.isMiddleware = reader.bool();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.events = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.proxy = RegisterAdminRouteRequest_ProxyRouteOptions.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterAdminRouteRequest_PathDefinition {\n return {\n options: isSet(object.options)\n ? RegisterAdminRouteRequest_ConduitRouteOptions.fromJSON(object.options)\n : undefined,\n returns: isSet(object.returns)\n ? RegisterAdminRouteRequest_ConduitRouteReturnDefinition.fromJSON(object.returns)\n : undefined,\n grpcFunction: isSet(object.grpcFunction) ? globalThis.String(object.grpcFunction) : undefined,\n isMiddleware: isSet(object.isMiddleware) ? globalThis.Boolean(object.isMiddleware) : undefined,\n events: isSet(object.events) ? globalThis.String(object.events) : undefined,\n proxy: isSet(object.proxy) ? RegisterAdminRouteRequest_ProxyRouteOptions.fromJSON(object.proxy) : undefined,\n };\n },\n\n toJSON(message: RegisterAdminRouteRequest_PathDefinition): unknown {\n const obj: any = {};\n if (message.options !== undefined) {\n obj.options = RegisterAdminRouteRequest_ConduitRouteOptions.toJSON(message.options);\n }\n if (message.returns !== undefined) {\n obj.returns = RegisterAdminRouteRequest_ConduitRouteReturnDefinition.toJSON(message.returns);\n }\n if (message.grpcFunction !== undefined) {\n obj.grpcFunction = message.grpcFunction;\n }\n if (message.isMiddleware !== undefined) {\n obj.isMiddleware = message.isMiddleware;\n }\n if (message.events !== undefined) {\n obj.events = message.events;\n }\n if (message.proxy !== undefined) {\n obj.proxy = RegisterAdminRouteRequest_ProxyRouteOptions.toJSON(message.proxy);\n }\n return obj;\n },\n\n create(base?: DeepPartial<RegisterAdminRouteRequest_PathDefinition>): RegisterAdminRouteRequest_PathDefinition {\n return RegisterAdminRouteRequest_PathDefinition.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<RegisterAdminRouteRequest_PathDefinition>): RegisterAdminRouteRequest_PathDefinition {\n const message = createBaseRegisterAdminRouteRequest_PathDefinition();\n message.options = (object.options !== undefined && object.options !== null)\n ? RegisterAdminRouteRequest_ConduitRouteOptions.fromPartial(object.options)\n : undefined;\n message.returns = (object.returns !== undefined && object.returns !== null)\n ? RegisterAdminRouteRequest_ConduitRouteReturnDefinition.fromPartial(object.returns)\n : undefined;\n message.grpcFunction = object.grpcFunction ?? undefined;\n message.isMiddleware = object.isMiddleware ?? undefined;\n message.events = object.events ?? undefined;\n message.proxy = (object.proxy !== undefined && object.proxy !== null)\n ? RegisterAdminRouteRequest_ProxyRouteOptions.fromPartial(object.proxy)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseRegisterAdminRouteRequest_ConduitRouteOptions(): RegisterAdminRouteRequest_ConduitRouteOptions {\n return {\n queryParams: undefined,\n bodyParams: undefined,\n urlParams: undefined,\n action: undefined,\n path: \"\",\n name: undefined,\n description: undefined,\n middlewares: [],\n cacheControl: undefined,\n errors: [],\n mcp: undefined,\n strictParams: undefined,\n rateLimit: undefined,\n };\n}\n\nexport const RegisterAdminRouteRequest_ConduitRouteOptions: MessageFns<RegisterAdminRouteRequest_ConduitRouteOptions> =\n {\n encode(\n message: RegisterAdminRouteRequest_ConduitRouteOptions,\n writer: BinaryWriter = new BinaryWriter(),\n ): BinaryWriter {\n if (message.queryParams !== undefined) {\n writer.uint32(10).string(message.queryParams);\n }\n if (message.bodyParams !== undefined) {\n writer.uint32(18).string(message.bodyParams);\n }\n if (message.urlParams !== undefined) {\n writer.uint32(26).string(message.urlParams);\n }\n if (message.action !== undefined) {\n writer.uint32(34).string(message.action);\n }\n if (message.path !== \"\") {\n writer.uint32(42).string(message.path);\n }\n if (message.name !== undefined) {\n writer.uint32(50).string(message.name);\n }\n if (message.description !== undefined) {\n writer.uint32(58).string(message.description);\n }\n for (const v of message.middlewares) {\n writer.uint32(66).string(v!);\n }\n if (message.cacheControl !== undefined) {\n writer.uint32(74).string(message.cacheControl);\n }\n for (const v of message.errors) {\n RegisterAdminRouteRequest_ErrorDefinition.encode(v!, writer.uint32(82).fork()).join();\n }\n if (message.mcp !== undefined) {\n writer.uint32(88).bool(message.mcp);\n }\n if (message.strictParams !== undefined) {\n writer.uint32(96).bool(message.strictParams);\n }\n if (message.rateLimit !== undefined) {\n writer.uint32(106).string(message.rateLimit);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisterAdminRouteRequest_ConduitRouteOptions {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterAdminRouteRequest_ConduitRouteOptions();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.queryParams = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.bodyParams = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.urlParams = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.action = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.path = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.description = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.middlewares.push(reader.string());\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.cacheControl = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.errors.push(RegisterAdminRouteRequest_ErrorDefinition.decode(reader, reader.uint32()));\n continue;\n }\n case 11: {\n if (tag !== 88) {\n break;\n }\n\n message.mcp = reader.bool();\n continue;\n }\n case 12: {\n if (tag !== 96) {\n break;\n }\n\n message.strictParams = reader.bool();\n continue;\n }\n case 13: {\n if (tag !== 106) {\n break;\n }\n\n message.rateLimit = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterAdminRouteRequest_ConduitRouteOptions {\n return {\n queryParams: isSet(object.queryParams) ? globalThis.String(object.queryParams) : undefined,\n bodyParams: isSet(object.bodyParams) ? globalThis.String(object.bodyParams) : undefined,\n urlParams: isSet(object.urlParams) ? globalThis.String(object.urlParams) : undefined,\n action: isSet(object.action) ? globalThis.String(object.action) : undefined,\n path: isSet(object.path) ? globalThis.String(object.path) : \"\",\n name: isSet(object.name) ? globalThis.String(object.name) : undefined,\n description: isSet(object.description) ? globalThis.String(object.description) : undefined,\n middlewares: globalThis.Array.isArray(object?.middlewares)\n ? object.middlewares.map((e: any) => globalThis.String(e))\n : [],\n cacheControl: isSet(object.cacheControl) ? globalThis.String(object.cacheControl) : undefined,\n errors: globalThis.Array.isArray(object?.errors)\n ? object.errors.map((e: any) => RegisterAdminRouteRequest_ErrorDefinition.fromJSON(e))\n : [],\n mcp: isSet(object.mcp) ? globalThis.Boolean(object.mcp) : undefined,\n strictParams: isSet(object.strictParams) ? globalThis.Boolean(object.strictParams) : undefined,\n rateLimit: isSet(object.rateLimit) ? globalThis.String(object.rateLimit) : undefined,\n };\n },\n\n toJSON(message: RegisterAdminRouteRequest_ConduitRouteOptions): unknown {\n const obj: any = {};\n if (message.queryParams !== undefined) {\n obj.queryParams = message.queryParams;\n }\n if (message.bodyParams !== undefined) {\n obj.bodyParams = message.bodyParams;\n }\n if (message.urlParams !== undefined) {\n obj.urlParams = message.urlParams;\n }\n if (message.action !== undefined) {\n obj.action = message.action;\n }\n if (message.path !== \"\") {\n obj.path = message.path;\n }\n if (message.name !== undefined) {\n obj.name = message.name;\n }\n if (message.description !== undefined) {\n obj.description = message.description;\n }\n if (message.middlewares?.length) {\n obj.middlewares = message.middlewares;\n }\n if (message.cacheControl !== undefined) {\n obj.cacheControl = message.cacheControl;\n }\n if (message.errors?.length) {\n obj.errors = message.errors.map((e) => RegisterAdminRouteRequest_ErrorDefinition.toJSON(e));\n }\n if (message.mcp !== undefined) {\n obj.mcp = message.mcp;\n }\n if (message.strictParams !== undefined) {\n obj.strictParams = message.strictParams;\n }\n if (message.rateLimit !== undefined) {\n obj.rateLimit = message.rateLimit;\n }\n return obj;\n },\n\n create(\n base?: DeepPartial<RegisterAdminRouteRequest_ConduitRouteOptions>,\n ): RegisterAdminRouteRequest_ConduitRouteOptions {\n return RegisterAdminRouteRequest_ConduitRouteOptions.fromPartial(base ?? {});\n },\n fromPartial(\n object: DeepPartial<RegisterAdminRouteRequest_ConduitRouteOptions>,\n ): RegisterAdminRouteRequest_ConduitRouteOptions {\n const message = createBaseRegisterAdminRouteRequest_ConduitRouteOptions();\n message.queryParams = object.queryParams ?? undefined;\n message.bodyParams = object.bodyParams ?? undefined;\n message.urlParams = object.urlParams ?? undefined;\n message.action = object.action ?? undefined;\n message.path = object.path ?? \"\";\n message.name = object.name ?? undefined;\n message.description = object.description ?? undefined;\n message.middlewares = object.middlewares?.map((e) => e) || [];\n message.cacheControl = object.cacheControl ?? undefined;\n message.errors = object.errors?.map((e) => RegisterAdminRouteRequest_ErrorDefinition.fromPartial(e)) || [];\n message.mcp = object.mcp ?? undefined;\n message.strictParams = object.strictParams ?? undefined;\n message.rateLimit = object.rateLimit ?? undefined;\n return message;\n },\n };\n\nfunction createBaseRegisterAdminRouteRequest_ProxyRouteOptions(): RegisterAdminRouteRequest_ProxyRouteOptions {\n return {\n target: undefined,\n changeOrigin: undefined,\n secure: undefined,\n context: undefined,\n pathRewrite: undefined,\n headers: undefined,\n proxyTimeout: undefined,\n cookieDomainRewrite: undefined,\n autoRewrite: undefined,\n followRedirects: undefined,\n xfwd: undefined,\n ws: undefined,\n router: undefined,\n preserveHeaderKeyCase: undefined,\n };\n}\n\nexport const RegisterAdminRouteRequest_ProxyRouteOptions: MessageFns<RegisterAdminRouteRequest_ProxyRouteOptions> = {\n encode(\n message: RegisterAdminRouteRequest_ProxyRouteOptions,\n writer: BinaryWriter = new BinaryWriter(),\n ): BinaryWriter {\n if (message.target !== undefined) {\n writer.uint32(10).string(message.target);\n }\n if (message.changeOrigin !== undefined) {\n writer.uint32(16).bool(message.changeOrigin);\n }\n if (message.secure !== undefined) {\n writer.uint32(24).bool(message.secure);\n }\n if (message.context !== undefined) {\n writer.uint32(34).string(message.context);\n }\n if (message.pathRewrite !== undefined) {\n writer.uint32(42).string(message.pathRewrite);\n }\n if (message.headers !== undefined) {\n writer.uint32(50).string(message.headers);\n }\n if (message.proxyTimeout !== undefined) {\n writer.uint32(56).int32(message.proxyTimeout);\n }\n if (message.cookieDomainRewrite !== undefined) {\n writer.uint32(66).string(message.cookieDomainRewrite);\n }\n if (message.autoRewrite !== undefined) {\n writer.uint32(72).bool(message.autoRewrite);\n }\n if (message.followRedirects !== undefined) {\n writer.uint32(80).bool(message.followRedirects);\n }\n if (message.xfwd !== undefined) {\n writer.uint32(88).bool(message.xfwd);\n }\n if (message.ws !== undefined) {\n writer.uint32(96).bool(message.ws);\n }\n if (message.router !== undefined) {\n writer.uint32(106).string(message.router);\n }\n if (message.preserveHeaderKeyCase !== undefined) {\n writer.uint32(112).bool(message.preserveHeaderKeyCase);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisterAdminRouteRequest_ProxyRouteOptions {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterAdminRouteRequest_ProxyRouteOptions();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.target = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.changeOrigin = reader.bool();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.secure = reader.bool();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.context = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.pathRewrite = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.headers = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 56) {\n break;\n }\n\n message.proxyTimeout = reader.int32();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.cookieDomainRewrite = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 72) {\n break;\n }\n\n message.autoRewrite = reader.bool();\n continue;\n }\n case 10: {\n if (tag !== 80) {\n break;\n }\n\n message.followRedirects = reader.bool();\n continue;\n }\n case 11: {\n if (tag !== 88) {\n break;\n }\n\n message.xfwd = reader.bool();\n continue;\n }\n case 12: {\n if (tag !== 96) {\n break;\n }\n\n message.ws = reader.bool();\n continue;\n }\n case 13: {\n if (tag !== 106) {\n break;\n }\n\n message.router = reader.string();\n continue;\n }\n case 14: {\n if (tag !== 112) {\n break;\n }\n\n message.preserveHeaderKeyCase = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterAdminRouteRequest_ProxyRouteOptions {\n return {\n target: isSet(object.target) ? globalThis.String(object.target) : undefined,\n changeOrigin: isSet(object.changeOrigin) ? globalThis.Boolean(object.changeOrigin) : undefined,\n secure: isSet(object.secure) ? globalThis.Boolean(object.secure) : undefined,\n context: isSet(object.context) ? globalThis.String(object.context) : undefined,\n pathRewrite: isSet(object.pathRewrite) ? globalThis.String(object.pathRewrite) : undefined,\n headers: isSet(object.headers) ? globalThis.String(object.headers) : undefined,\n proxyTimeout: isSet(object.proxyTimeout) ? globalThis.Number(object.proxyTimeout) : undefined,\n cookieDomainRewrite: isSet(object.cookieDomainRewrite)\n ? globalThis.String(object.cookieDomainRewrite)\n : undefined,\n autoRewrite: isSet(object.autoRewrite) ? globalThis.Boolean(object.autoRewrite) : undefined,\n followRedirects: isSet(object.followRedirects) ? globalThis.Boolean(object.followRedirects) : undefined,\n xfwd: isSet(object.xfwd) ? globalThis.Boolean(object.xfwd) : undefined,\n ws: isSet(object.ws) ? globalThis.Boolean(object.ws) : undefined,\n router: isSet(object.router) ? globalThis.String(object.router) : undefined,\n preserveHeaderKeyCase: isSet(object.preserveHeaderKeyCase)\n ? globalThis.Boolean(object.preserveHeaderKeyCase)\n : undefined,\n };\n },\n\n toJSON(message: RegisterAdminRouteRequest_ProxyRouteOptions): unknown {\n const obj: any = {};\n if (message.target !== undefined) {\n obj.target = message.target;\n }\n if (message.changeOrigin !== undefined) {\n obj.changeOrigin = message.changeOrigin;\n }\n if (message.secure !== undefined) {\n obj.secure = message.secure;\n }\n if (message.context !== undefined) {\n obj.context = message.context;\n }\n if (message.pathRewrite !== undefined) {\n obj.pathRewrite = message.pathRewrite;\n }\n if (message.headers !== undefined) {\n obj.headers = message.headers;\n }\n if (message.proxyTimeout !== undefined) {\n obj.proxyTimeout = Math.round(message.proxyTimeout);\n }\n if (message.cookieDomainRewrite !== undefined) {\n obj.cookieDomainRewrite = message.cookieDomainRewrite;\n }\n if (message.autoRewrite !== undefined) {\n obj.autoRewrite = message.autoRewrite;\n }\n if (message.followRedirects !== undefined) {\n obj.followRedirects = message.followRedirects;\n }\n if (message.xfwd !== undefined) {\n obj.xfwd = message.xfwd;\n }\n if (message.ws !== undefined) {\n obj.ws = message.ws;\n }\n if (message.router !== undefined) {\n obj.router = message.router;\n }\n if (message.preserveHeaderKeyCase !== undefined) {\n obj.preserveHeaderKeyCase = message.preserveHeaderKeyCase;\n }\n return obj;\n },\n\n create(base?: DeepPartial<RegisterAdminRouteRequest_ProxyRouteOptions>): RegisterAdminRouteRequest_ProxyRouteOptions {\n return RegisterAdminRouteRequest_ProxyRouteOptions.fromPartial(base ?? {});\n },\n fromPartial(\n object: DeepPartial<RegisterAdminRouteRequest_ProxyRouteOptions>,\n ): RegisterAdminRouteRequest_ProxyRouteOptions {\n const message = createBaseRegisterAdminRouteRequest_ProxyRouteOptions();\n message.target = object.target ?? undefined;\n message.changeOrigin = object.changeOrigin ?? undefined;\n message.secure = object.secure ?? undefined;\n message.context = object.context ?? undefined;\n message.pathRewrite = object.pathRewrite ?? undefined;\n message.headers = object.headers ?? undefined;\n message.proxyTimeout = object.proxyTimeout ?? undefined;\n message.cookieDomainRewrite = object.cookieDomainRewrite ?? undefined;\n message.autoRewrite = object.autoRewrite ?? undefined;\n message.followRedirects = object.followRedirects ?? undefined;\n message.xfwd = object.xfwd ?? undefined;\n message.ws = object.ws ?? undefined;\n message.router = object.router ?? undefined;\n message.preserveHeaderKeyCase = object.preserveHeaderKeyCase ?? undefined;\n return message;\n },\n};\n\nfunction createBaseRegisterAdminRouteRequest_ConduitRouteReturnDefinition(): RegisterAdminRouteRequest_ConduitRouteReturnDefinition {\n return { name: \"\", fields: \"\" };\n}\n\nexport const RegisterAdminRouteRequest_ConduitRouteReturnDefinition: MessageFns<\n RegisterAdminRouteRequest_ConduitRouteReturnDefinition\n> = {\n encode(\n message: RegisterAdminRouteRequest_ConduitRouteReturnDefinition,\n writer: BinaryWriter = new BinaryWriter(),\n ): BinaryWriter {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.fields !== \"\") {\n writer.uint32(18).string(message.fields);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisterAdminRouteRequest_ConduitRouteReturnDefinition {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterAdminRouteRequest_ConduitRouteReturnDefinition();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.fields = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterAdminRouteRequest_ConduitRouteReturnDefinition {\n return {\n name: isSet(object.name) ? globalThis.String(object.name) : \"\",\n fields: isSet(object.fields) ? globalThis.String(object.fields) : \"\",\n };\n },\n\n toJSON(message: RegisterAdminRouteRequest_ConduitRouteReturnDefinition): unknown {\n const obj: any = {};\n if (message.name !== \"\") {\n obj.name = message.name;\n }\n if (message.fields !== \"\") {\n obj.fields = message.fields;\n }\n return obj;\n },\n\n create(\n base?: DeepPartial<RegisterAdminRouteRequest_ConduitRouteReturnDefinition>,\n ): RegisterAdminRouteRequest_ConduitRouteReturnDefinition {\n return RegisterAdminRouteRequest_ConduitRouteReturnDefinition.fromPartial(base ?? {});\n },\n fromPartial(\n object: DeepPartial<RegisterAdminRouteRequest_ConduitRouteReturnDefinition>,\n ): RegisterAdminRouteRequest_ConduitRouteReturnDefinition {\n const message = createBaseRegisterAdminRouteRequest_ConduitRouteReturnDefinition();\n message.name = object.name ?? \"\";\n message.fields = object.fields ?? \"\";\n return message;\n },\n};\n\nfunction createBasePatchRouteMiddlewaresRequest(): PatchRouteMiddlewaresRequest {\n return { path: \"\", action: \"\", middlewares: [] };\n}\n\nexport const PatchRouteMiddlewaresRequest: MessageFns<PatchRouteMiddlewaresRequest> = {\n encode(message: PatchRouteMiddlewaresRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.path !== \"\") {\n writer.uint32(10).string(message.path);\n }\n if (message.action !== \"\") {\n writer.uint32(18).string(message.action);\n }\n for (const v of message.middlewares) {\n writer.uint32(26).string(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): PatchRouteMiddlewaresRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBasePatchRouteMiddlewaresRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.path = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.action = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.middlewares.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): PatchRouteMiddlewaresRequest {\n return {\n path: isSet(object.path) ? globalThis.String(object.path) : \"\",\n action: isSet(object.action) ? globalThis.String(object.action) : \"\",\n middlewares: globalThis.Array.isArray(object?.middlewares)\n ? object.middlewares.map((e: any) => globalThis.String(e))\n : [],\n };\n },\n\n toJSON(message: PatchRouteMiddlewaresRequest): unknown {\n const obj: any = {};\n if (message.path !== \"\") {\n obj.path = message.path;\n }\n if (message.action !== \"\") {\n obj.action = message.action;\n }\n if (message.middlewares?.length) {\n obj.middlewares = message.middlewares;\n }\n return obj;\n },\n\n create(base?: DeepPartial<PatchRouteMiddlewaresRequest>): PatchRouteMiddlewaresRequest {\n return PatchRouteMiddlewaresRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<PatchRouteMiddlewaresRequest>): PatchRouteMiddlewaresRequest {\n const message = createBasePatchRouteMiddlewaresRequest();\n message.path = object.path ?? \"\";\n message.action = object.action ?? \"\";\n message.middlewares = object.middlewares?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseModuleHealthRequest(): ModuleHealthRequest {\n return { moduleName: \"\", url: \"\", status: 0 };\n}\n\nexport const ModuleHealthRequest: MessageFns<ModuleHealthRequest> = {\n encode(message: ModuleHealthRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.moduleName !== \"\") {\n writer.uint32(10).string(message.moduleName);\n }\n if (message.url !== \"\") {\n writer.uint32(18).string(message.url);\n }\n if (message.status !== 0) {\n writer.uint32(24).int32(message.status);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ModuleHealthRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseModuleHealthRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.moduleName = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.url = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.status = reader.int32();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ModuleHealthRequest {\n return {\n moduleName: isSet(object.moduleName) ? globalThis.String(object.moduleName) : \"\",\n url: isSet(object.url) ? globalThis.String(object.url) : \"\",\n status: isSet(object.status) ? globalThis.Number(object.status) : 0,\n };\n },\n\n toJSON(message: ModuleHealthRequest): unknown {\n const obj: any = {};\n if (message.moduleName !== \"\") {\n obj.moduleName = message.moduleName;\n }\n if (message.url !== \"\") {\n obj.url = message.url;\n }\n if (message.status !== 0) {\n obj.status = Math.round(message.status);\n }\n return obj;\n },\n\n create(base?: DeepPartial<ModuleHealthRequest>): ModuleHealthRequest {\n return ModuleHealthRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ModuleHealthRequest>): ModuleHealthRequest {\n const message = createBaseModuleHealthRequest();\n message.moduleName = object.moduleName ?? \"\";\n message.url = object.url ?? \"\";\n message.status = object.status ?? 0;\n return message;\n },\n};\n\nfunction createBaseModuleByNameRequest(): ModuleByNameRequest {\n return { name: \"\" };\n}\n\nexport const ModuleByNameRequest: MessageFns<ModuleByNameRequest> = {\n encode(message: ModuleByNameRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ModuleByNameRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseModuleByNameRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ModuleByNameRequest {\n return { name: isSet(object.name) ? globalThis.String(object.name) : \"\" };\n },\n\n toJSON(message: ModuleByNameRequest): unknown {\n const obj: any = {};\n if (message.name !== \"\") {\n obj.name = message.name;\n }\n return obj;\n },\n\n create(base?: DeepPartial<ModuleByNameRequest>): ModuleByNameRequest {\n return ModuleByNameRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ModuleByNameRequest>): ModuleByNameRequest {\n const message = createBaseModuleByNameRequest();\n message.name = object.name ?? \"\";\n return message;\n },\n};\n\nfunction createBaseModuleByNameResponse(): ModuleByNameResponse {\n return { moduleUrl: \"\" };\n}\n\nexport const ModuleByNameResponse: MessageFns<ModuleByNameResponse> = {\n encode(message: ModuleByNameResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.moduleUrl !== \"\") {\n writer.uint32(10).string(message.moduleUrl);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ModuleByNameResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseModuleByNameResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.moduleUrl = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ModuleByNameResponse {\n return { moduleUrl: isSet(object.moduleUrl) ? globalThis.String(object.moduleUrl) : \"\" };\n },\n\n toJSON(message: ModuleByNameResponse): unknown {\n const obj: any = {};\n if (message.moduleUrl !== \"\") {\n obj.moduleUrl = message.moduleUrl;\n }\n return obj;\n },\n\n create(base?: DeepPartial<ModuleByNameResponse>): ModuleByNameResponse {\n return ModuleByNameResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ModuleByNameResponse>): ModuleByNameResponse {\n const message = createBaseModuleByNameResponse();\n message.moduleUrl = object.moduleUrl ?? \"\";\n return message;\n },\n};\n\nfunction createBaseRegisterModuleRequest(): RegisterModuleRequest {\n return { moduleName: \"\", url: \"\", healthStatus: 0 };\n}\n\nexport const RegisterModuleRequest: MessageFns<RegisterModuleRequest> = {\n encode(message: RegisterModuleRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.moduleName !== \"\") {\n writer.uint32(10).string(message.moduleName);\n }\n if (message.url !== \"\") {\n writer.uint32(18).string(message.url);\n }\n if (message.healthStatus !== 0) {\n writer.uint32(24).int32(message.healthStatus);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisterModuleRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterModuleRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.moduleName = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.url = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.healthStatus = reader.int32();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterModuleRequest {\n return {\n moduleName: isSet(object.moduleName) ? globalThis.String(object.moduleName) : \"\",\n url: isSet(object.url) ? globalThis.String(object.url) : \"\",\n healthStatus: isSet(object.healthStatus) ? globalThis.Number(object.healthStatus) : 0,\n };\n },\n\n toJSON(message: RegisterModuleRequest): unknown {\n const obj: any = {};\n if (message.moduleName !== \"\") {\n obj.moduleName = message.moduleName;\n }\n if (message.url !== \"\") {\n obj.url = message.url;\n }\n if (message.healthStatus !== 0) {\n obj.healthStatus = Math.round(message.healthStatus);\n }\n return obj;\n },\n\n create(base?: DeepPartial<RegisterModuleRequest>): RegisterModuleRequest {\n return RegisterModuleRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<RegisterModuleRequest>): RegisterModuleRequest {\n const message = createBaseRegisterModuleRequest();\n message.moduleName = object.moduleName ?? \"\";\n message.url = object.url ?? \"\";\n message.healthStatus = object.healthStatus ?? 0;\n return message;\n },\n};\n\nfunction createBaseRegisterModuleResponse(): RegisterModuleResponse {\n return { result: false };\n}\n\nexport const RegisterModuleResponse: MessageFns<RegisterModuleResponse> = {\n encode(message: RegisterModuleResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.result !== false) {\n writer.uint32(8).bool(message.result);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisterModuleResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterModuleResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.result = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterModuleResponse {\n return { result: isSet(object.result) ? globalThis.Boolean(object.result) : false };\n },\n\n toJSON(message: RegisterModuleResponse): unknown {\n const obj: any = {};\n if (message.result !== false) {\n obj.result = message.result;\n }\n return obj;\n },\n\n create(base?: DeepPartial<RegisterModuleResponse>): RegisterModuleResponse {\n return RegisterModuleResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<RegisterModuleResponse>): RegisterModuleResponse {\n const message = createBaseRegisterModuleResponse();\n message.result = object.result ?? false;\n return message;\n },\n};\n\nfunction createBaseModuleListResponse(): ModuleListResponse {\n return { modules: [] };\n}\n\nexport const ModuleListResponse: MessageFns<ModuleListResponse> = {\n encode(message: ModuleListResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.modules) {\n ModuleListResponse_ModuleResponse.encode(v!, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ModuleListResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseModuleListResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.modules.push(ModuleListResponse_ModuleResponse.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ModuleListResponse {\n return {\n modules: globalThis.Array.isArray(object?.modules)\n ? object.modules.map((e: any) => ModuleListResponse_ModuleResponse.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: ModuleListResponse): unknown {\n const obj: any = {};\n if (message.modules?.length) {\n obj.modules = message.modules.map((e) => ModuleListResponse_ModuleResponse.toJSON(e));\n }\n return obj;\n },\n\n create(base?: DeepPartial<ModuleListResponse>): ModuleListResponse {\n return ModuleListResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ModuleListResponse>): ModuleListResponse {\n const message = createBaseModuleListResponse();\n message.modules = object.modules?.map((e) => ModuleListResponse_ModuleResponse.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseModuleListResponse_ModuleResponse(): ModuleListResponse_ModuleResponse {\n return { moduleName: \"\", url: \"\", serving: false };\n}\n\nexport const ModuleListResponse_ModuleResponse: MessageFns<ModuleListResponse_ModuleResponse> = {\n encode(message: ModuleListResponse_ModuleResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.moduleName !== \"\") {\n writer.uint32(10).string(message.moduleName);\n }\n if (message.url !== \"\") {\n writer.uint32(18).string(message.url);\n }\n if (message.serving !== false) {\n writer.uint32(24).bool(message.serving);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ModuleListResponse_ModuleResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseModuleListResponse_ModuleResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.moduleName = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.url = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.serving = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ModuleListResponse_ModuleResponse {\n return {\n moduleName: isSet(object.moduleName) ? globalThis.String(object.moduleName) : \"\",\n url: isSet(object.url) ? globalThis.String(object.url) : \"\",\n serving: isSet(object.serving) ? globalThis.Boolean(object.serving) : false,\n };\n },\n\n toJSON(message: ModuleListResponse_ModuleResponse): unknown {\n const obj: any = {};\n if (message.moduleName !== \"\") {\n obj.moduleName = message.moduleName;\n }\n if (message.url !== \"\") {\n obj.url = message.url;\n }\n if (message.serving !== false) {\n obj.serving = message.serving;\n }\n return obj;\n },\n\n create(base?: DeepPartial<ModuleListResponse_ModuleResponse>): ModuleListResponse_ModuleResponse {\n return ModuleListResponse_ModuleResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ModuleListResponse_ModuleResponse>): ModuleListResponse_ModuleResponse {\n const message = createBaseModuleListResponse_ModuleResponse();\n message.moduleName = object.moduleName ?? \"\";\n message.url = object.url ?? \"\";\n message.serving = object.serving ?? false;\n return message;\n },\n};\n\nfunction createBaseModuleExistsRequest(): ModuleExistsRequest {\n return { moduleName: \"\" };\n}\n\nexport const ModuleExistsRequest: MessageFns<ModuleExistsRequest> = {\n encode(message: ModuleExistsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.moduleName !== \"\") {\n writer.uint32(10).string(message.moduleName);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ModuleExistsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseModuleExistsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.moduleName = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ModuleExistsRequest {\n return { moduleName: isSet(object.moduleName) ? globalThis.String(object.moduleName) : \"\" };\n },\n\n toJSON(message: ModuleExistsRequest): unknown {\n const obj: any = {};\n if (message.moduleName !== \"\") {\n obj.moduleName = message.moduleName;\n }\n return obj;\n },\n\n create(base?: DeepPartial<ModuleExistsRequest>): ModuleExistsRequest {\n return ModuleExistsRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ModuleExistsRequest>): ModuleExistsRequest {\n const message = createBaseModuleExistsRequest();\n message.moduleName = object.moduleName ?? \"\";\n return message;\n },\n};\n\nfunction createBaseModuleExistsResponse(): ModuleExistsResponse {\n return { url: \"\" };\n}\n\nexport const ModuleExistsResponse: MessageFns<ModuleExistsResponse> = {\n encode(message: ModuleExistsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.url !== \"\") {\n writer.uint32(10).string(message.url);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ModuleExistsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseModuleExistsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.url = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ModuleExistsResponse {\n return { url: isSet(object.url) ? globalThis.String(object.url) : \"\" };\n },\n\n toJSON(message: ModuleExistsResponse): unknown {\n const obj: any = {};\n if (message.url !== \"\") {\n obj.url = message.url;\n }\n return obj;\n },\n\n create(base?: DeepPartial<ModuleExistsResponse>): ModuleExistsResponse {\n return ModuleExistsResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ModuleExistsResponse>): ModuleExistsResponse {\n const message = createBaseModuleExistsResponse();\n message.url = object.url ?? \"\";\n return message;\n },\n};\n\nfunction createBaseGetConfigRequest(): GetConfigRequest {\n return { key: \"\" };\n}\n\nexport const GetConfigRequest: MessageFns<GetConfigRequest> = {\n encode(message: GetConfigRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.key !== \"\") {\n writer.uint32(10).string(message.key);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetConfigRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetConfigRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.key = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetConfigRequest {\n return { key: isSet(object.key) ? globalThis.String(object.key) : \"\" };\n },\n\n toJSON(message: GetConfigRequest): unknown {\n const obj: any = {};\n if (message.key !== \"\") {\n obj.key = message.key;\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetConfigRequest>): GetConfigRequest {\n return GetConfigRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetConfigRequest>): GetConfigRequest {\n const message = createBaseGetConfigRequest();\n message.key = object.key ?? \"\";\n return message;\n },\n};\n\nfunction createBaseGetRedisDetailsResponse(): GetRedisDetailsResponse {\n return {\n redisHost: undefined,\n redisPort: undefined,\n redisUsername: undefined,\n redisPassword: undefined,\n redisConfig: undefined,\n standalone: undefined,\n cluster: undefined,\n };\n}\n\nexport const GetRedisDetailsResponse: MessageFns<GetRedisDetailsResponse> = {\n encode(message: GetRedisDetailsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.redisHost !== undefined) {\n writer.uint32(10).string(message.redisHost);\n }\n if (message.redisPort !== undefined) {\n writer.uint32(16).int32(message.redisPort);\n }\n if (message.redisUsername !== undefined) {\n writer.uint32(26).string(message.redisUsername);\n }\n if (message.redisPassword !== undefined) {\n writer.uint32(34).string(message.redisPassword);\n }\n if (message.redisConfig !== undefined) {\n writer.uint32(42).string(message.redisConfig);\n }\n if (message.standalone !== undefined) {\n writer.uint32(50).string(message.standalone);\n }\n if (message.cluster !== undefined) {\n writer.uint32(58).string(message.cluster);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetRedisDetailsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetRedisDetailsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.redisHost = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.redisPort = reader.int32();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.redisUsername = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.redisPassword = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.redisConfig = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.standalone = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.cluster = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetRedisDetailsResponse {\n return {\n redisHost: isSet(object.redisHost) ? globalThis.String(object.redisHost) : undefined,\n redisPort: isSet(object.redisPort) ? globalThis.Number(object.redisPort) : undefined,\n redisUsername: isSet(object.redisUsername) ? globalThis.String(object.redisUsername) : undefined,\n redisPassword: isSet(object.redisPassword) ? globalThis.String(object.redisPassword) : undefined,\n redisConfig: isSet(object.redisConfig) ? globalThis.String(object.redisConfig) : undefined,\n standalone: isSet(object.standalone) ? globalThis.String(object.standalone) : undefined,\n cluster: isSet(object.cluster) ? globalThis.String(object.cluster) : undefined,\n };\n },\n\n toJSON(message: GetRedisDetailsResponse): unknown {\n const obj: any = {};\n if (message.redisHost !== undefined) {\n obj.redisHost = message.redisHost;\n }\n if (message.redisPort !== undefined) {\n obj.redisPort = Math.round(message.redisPort);\n }\n if (message.redisUsername !== undefined) {\n obj.redisUsername = message.redisUsername;\n }\n if (message.redisPassword !== undefined) {\n obj.redisPassword = message.redisPassword;\n }\n if (message.redisConfig !== undefined) {\n obj.redisConfig = message.redisConfig;\n }\n if (message.standalone !== undefined) {\n obj.standalone = message.standalone;\n }\n if (message.cluster !== undefined) {\n obj.cluster = message.cluster;\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetRedisDetailsResponse>): GetRedisDetailsResponse {\n return GetRedisDetailsResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetRedisDetailsResponse>): GetRedisDetailsResponse {\n const message = createBaseGetRedisDetailsResponse();\n message.redisHost = object.redisHost ?? undefined;\n message.redisPort = object.redisPort ?? undefined;\n message.redisUsername = object.redisUsername ?? undefined;\n message.redisPassword = object.redisPassword ?? undefined;\n message.redisConfig = object.redisConfig ?? undefined;\n message.standalone = object.standalone ?? undefined;\n message.cluster = object.cluster ?? undefined;\n return message;\n },\n};\n\nfunction createBaseGetConfigResponse(): GetConfigResponse {\n return { data: \"\" };\n}\n\nexport const GetConfigResponse: MessageFns<GetConfigResponse> = {\n encode(message: GetConfigResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.data !== \"\") {\n writer.uint32(10).string(message.data);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetConfigResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetConfigResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.data = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetConfigResponse {\n return { data: isSet(object.data) ? globalThis.String(object.data) : \"\" };\n },\n\n toJSON(message: GetConfigResponse): unknown {\n const obj: any = {};\n if (message.data !== \"\") {\n obj.data = message.data;\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetConfigResponse>): GetConfigResponse {\n return GetConfigResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetConfigResponse>): GetConfigResponse {\n const message = createBaseGetConfigResponse();\n message.data = object.data ?? \"\";\n return message;\n },\n};\n\nfunction createBaseUpdateConfigRequest(): UpdateConfigRequest {\n return { config: \"\", schema: \"\", override: false };\n}\n\nexport const UpdateConfigRequest: MessageFns<UpdateConfigRequest> = {\n encode(message: UpdateConfigRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.config !== \"\") {\n writer.uint32(10).string(message.config);\n }\n if (message.schema !== \"\") {\n writer.uint32(18).string(message.schema);\n }\n if (message.override !== false) {\n writer.uint32(24).bool(message.override);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): UpdateConfigRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseUpdateConfigRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.config = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.schema = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.override = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): UpdateConfigRequest {\n return {\n config: isSet(object.config) ? globalThis.String(object.config) : \"\",\n schema: isSet(object.schema) ? globalThis.String(object.schema) : \"\",\n override: isSet(object.override) ? globalThis.Boolean(object.override) : false,\n };\n },\n\n toJSON(message: UpdateConfigRequest): unknown {\n const obj: any = {};\n if (message.config !== \"\") {\n obj.config = message.config;\n }\n if (message.schema !== \"\") {\n obj.schema = message.schema;\n }\n if (message.override !== false) {\n obj.override = message.override;\n }\n return obj;\n },\n\n create(base?: DeepPartial<UpdateConfigRequest>): UpdateConfigRequest {\n return UpdateConfigRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<UpdateConfigRequest>): UpdateConfigRequest {\n const message = createBaseUpdateConfigRequest();\n message.config = object.config ?? \"\";\n message.schema = object.schema ?? \"\";\n message.override = object.override ?? false;\n return message;\n },\n};\n\nfunction createBaseUpdateConfigResponse(): UpdateConfigResponse {\n return { result: \"\" };\n}\n\nexport const UpdateConfigResponse: MessageFns<UpdateConfigResponse> = {\n encode(message: UpdateConfigResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.result !== \"\") {\n writer.uint32(10).string(message.result);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): UpdateConfigResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseUpdateConfigResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.result = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): UpdateConfigResponse {\n return { result: isSet(object.result) ? globalThis.String(object.result) : \"\" };\n },\n\n toJSON(message: UpdateConfigResponse): unknown {\n const obj: any = {};\n if (message.result !== \"\") {\n obj.result = message.result;\n }\n return obj;\n },\n\n create(base?: DeepPartial<UpdateConfigResponse>): UpdateConfigResponse {\n return UpdateConfigResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<UpdateConfigResponse>): UpdateConfigResponse {\n const message = createBaseUpdateConfigResponse();\n message.result = object.result ?? \"\";\n return message;\n },\n};\n\nfunction createBaseRegisterModulesConfigRequest(): RegisterModulesConfigRequest {\n return { newModulesConfigSchema: \"\" };\n}\n\nexport const RegisterModulesConfigRequest: MessageFns<RegisterModulesConfigRequest> = {\n encode(message: RegisterModulesConfigRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.newModulesConfigSchema !== \"\") {\n writer.uint32(10).string(message.newModulesConfigSchema);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisterModulesConfigRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterModulesConfigRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.newModulesConfigSchema = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterModulesConfigRequest {\n return {\n newModulesConfigSchema: isSet(object.newModulesConfigSchema)\n ? globalThis.String(object.newModulesConfigSchema)\n : \"\",\n };\n },\n\n toJSON(message: RegisterModulesConfigRequest): unknown {\n const obj: any = {};\n if (message.newModulesConfigSchema !== \"\") {\n obj.newModulesConfigSchema = message.newModulesConfigSchema;\n }\n return obj;\n },\n\n create(base?: DeepPartial<RegisterModulesConfigRequest>): RegisterModulesConfigRequest {\n return RegisterModulesConfigRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<RegisterModulesConfigRequest>): RegisterModulesConfigRequest {\n const message = createBaseRegisterModulesConfigRequest();\n message.newModulesConfigSchema = object.newModulesConfigSchema ?? \"\";\n return message;\n },\n};\n\nexport type CoreDefinition = typeof CoreDefinition;\nexport const CoreDefinition = { name: \"Core\", fullName: \"conduit.core.Core\", methods: {} } as const;\n\nexport type ConfigDefinition = typeof ConfigDefinition;\nexport const ConfigDefinition = {\n name: \"Config\",\n fullName: \"conduit.core.Config\",\n methods: {\n get: {\n name: \"Get\",\n requestType: GetConfigRequest as typeof GetConfigRequest,\n requestStream: false,\n responseType: GetConfigResponse as typeof GetConfigResponse,\n responseStream: false,\n options: {},\n },\n configure: {\n name: \"Configure\",\n requestType: UpdateConfigRequest as typeof UpdateConfigRequest,\n requestStream: false,\n responseType: UpdateConfigResponse as typeof UpdateConfigResponse,\n responseStream: false,\n options: {},\n },\n moduleExists: {\n name: \"ModuleExists\",\n requestType: ModuleExistsRequest as typeof ModuleExistsRequest,\n requestStream: false,\n responseType: ModuleExistsResponse as typeof ModuleExistsResponse,\n responseStream: false,\n options: {},\n },\n moduleList: {\n name: \"ModuleList\",\n requestType: Empty as typeof Empty,\n requestStream: false,\n responseType: ModuleListResponse as typeof ModuleListResponse,\n responseStream: false,\n options: {},\n },\n watchModules: {\n name: \"WatchModules\",\n requestType: Empty as typeof Empty,\n requestStream: false,\n responseType: ModuleListResponse as typeof ModuleListResponse,\n responseStream: true,\n options: {},\n },\n registerModule: {\n name: \"RegisterModule\",\n requestType: RegisterModuleRequest as typeof RegisterModuleRequest,\n requestStream: false,\n responseType: RegisterModuleResponse as typeof RegisterModuleResponse,\n responseStream: false,\n options: {},\n },\n moduleHealthProbe: {\n name: \"ModuleHealthProbe\",\n requestType: ModuleHealthRequest as typeof ModuleHealthRequest,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n getServerConfig: {\n name: \"GetServerConfig\",\n requestType: Empty as typeof Empty,\n requestStream: false,\n responseType: GetConfigResponse as typeof GetConfigResponse,\n responseStream: false,\n options: {},\n },\n getRedisDetails: {\n name: \"GetRedisDetails\",\n requestType: Empty as typeof Empty,\n requestStream: false,\n responseType: GetRedisDetailsResponse as typeof GetRedisDetailsResponse,\n responseStream: false,\n options: {},\n },\n getModuleUrlByName: {\n name: \"GetModuleUrlByName\",\n requestType: ModuleByNameRequest as typeof ModuleByNameRequest,\n requestStream: false,\n responseType: ModuleByNameResponse as typeof ModuleByNameResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\nexport type AdminDefinition = typeof AdminDefinition;\nexport const AdminDefinition = {\n name: \"Admin\",\n fullName: \"conduit.core.Admin\",\n methods: {\n registerAdminRoute: {\n name: \"RegisterAdminRoute\",\n requestType: RegisterAdminRouteRequest as typeof RegisterAdminRouteRequest,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n patchRouteMiddlewares: {\n name: \"PatchRouteMiddlewares\",\n requestType: PatchRouteMiddlewaresRequest as typeof PatchRouteMiddlewaresRequest,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.6\n// protoc v5.29.6\n// source: database.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport { Empty } from \"./google/protobuf/empty.js\";\n\nexport interface CreateSchemaRequest {\n name: string;\n fields: string;\n modelOptions: string;\n collectionName: string;\n}\n\nexport interface GetSchemaRequest {\n schemaName: string;\n}\n\nexport interface GetSchemasRequest {\n}\n\nexport interface GetSchemasResponse {\n schemas: Schema[];\n}\n\nexport interface DropCollectionResponse {\n result: string;\n}\n\nexport interface Schema {\n name: string;\n fields: string;\n modelOptions: string;\n collectionName: string;\n fieldHash: string;\n}\n\nexport interface SchemaExtension {\n schemaName: string;\n fields: string;\n}\n\nexport interface FindOneRequest {\n schemaName: string;\n query: string;\n select?: string | undefined;\n populate: string[];\n userId?: string | undefined;\n scope?: string | undefined;\n readPreference?: string | undefined;\n}\n\nexport interface FindRequest {\n schemaName: string;\n query: string;\n select?: string | undefined;\n skip?: number | undefined;\n limit?:\n | number\n | undefined;\n /** -1 | 1 */\n sort: { [key: string]: number };\n populate: string[];\n userId?: string | undefined;\n scope?: string | undefined;\n readPreference?: string | undefined;\n}\n\nexport interface FindRequest_SortEntry {\n key: string;\n value: number;\n}\n\nexport interface QueryResponse {\n result: string;\n}\n\nexport interface QueryRequest {\n schemaName: string;\n query: string;\n userId?: string | undefined;\n scope?: string | undefined;\n readPreference?: string | undefined;\n}\n\nexport interface RawQueryRequest {\n schemaName: string;\n query: RawQueryRequest_RawQuery | undefined;\n}\n\nexport interface RawQueryRequest_RawQuery {\n mongoQuery?: RawQueryRequest_RawQuery_MongoQuery | undefined;\n sqlQuery?: RawQueryRequest_RawQuery_SQLQuery | undefined;\n}\n\nexport interface RawQueryRequest_RawQuery_MongoQuery {\n aggregate?: string | undefined;\n count?: string | undefined;\n deleteOne?: string | undefined;\n deleteMany?: string | undefined;\n drop?: string | undefined;\n explain?: string | undefined;\n find?: string | undefined;\n insertOne?: string | undefined;\n insertMany?: string | undefined;\n updateOne?: string | undefined;\n updateMany?: string | undefined;\n options?: string | undefined;\n}\n\nexport interface RawQueryRequest_RawQuery_SQLQuery {\n query: string;\n options?: string | undefined;\n}\n\nexport interface CreateViewRequest {\n schemaName: string;\n viewName: string;\n joinedSchemas: string[];\n query: CreateViewRequest_RawQuery | undefined;\n}\n\nexport interface CreateViewRequest_RawQuery {\n mongoQuery: string;\n sqlQuery: string;\n}\n\nexport interface DeleteViewRequest {\n viewName: string;\n}\n\nexport interface UpdateRequest {\n schemaName: string;\n id: string;\n query: string;\n populate: string[];\n userId?: string | undefined;\n scope?: string | undefined;\n}\n\nexport interface UpdateManyRequest {\n schemaName: string;\n filterQuery: string;\n query: string;\n populate: string[];\n userId?: string | undefined;\n scope?: string | undefined;\n}\n\nexport interface DropCollectionRequest {\n schemaName: string;\n deleteData: boolean;\n}\n\nexport interface MigrateRequest {\n schemaName: string;\n}\n\nexport interface ColumnExistenceRequest {\n schemaName: string;\n columns: string[];\n}\n\nexport interface ColumnExistenceResponse {\n result: boolean;\n}\n\nexport interface GetDatabaseTypeResponse {\n result: string;\n}\n\nfunction createBaseCreateSchemaRequest(): CreateSchemaRequest {\n return { name: \"\", fields: \"\", modelOptions: \"\", collectionName: \"\" };\n}\n\nexport const CreateSchemaRequest: MessageFns<CreateSchemaRequest> = {\n encode(message: CreateSchemaRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.fields !== \"\") {\n writer.uint32(18).string(message.fields);\n }\n if (message.modelOptions !== \"\") {\n writer.uint32(26).string(message.modelOptions);\n }\n if (message.collectionName !== \"\") {\n writer.uint32(34).string(message.collectionName);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): CreateSchemaRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseCreateSchemaRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.fields = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.modelOptions = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.collectionName = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): CreateSchemaRequest {\n return {\n name: isSet(object.name) ? globalThis.String(object.name) : \"\",\n fields: isSet(object.fields) ? globalThis.String(object.fields) : \"\",\n modelOptions: isSet(object.modelOptions) ? globalThis.String(object.modelOptions) : \"\",\n collectionName: isSet(object.collectionName) ? globalThis.String(object.collectionName) : \"\",\n };\n },\n\n toJSON(message: CreateSchemaRequest): unknown {\n const obj: any = {};\n if (message.name !== \"\") {\n obj.name = message.name;\n }\n if (message.fields !== \"\") {\n obj.fields = message.fields;\n }\n if (message.modelOptions !== \"\") {\n obj.modelOptions = message.modelOptions;\n }\n if (message.collectionName !== \"\") {\n obj.collectionName = message.collectionName;\n }\n return obj;\n },\n\n create(base?: DeepPartial<CreateSchemaRequest>): CreateSchemaRequest {\n return CreateSchemaRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<CreateSchemaRequest>): CreateSchemaRequest {\n const message = createBaseCreateSchemaRequest();\n message.name = object.name ?? \"\";\n message.fields = object.fields ?? \"\";\n message.modelOptions = object.modelOptions ?? \"\";\n message.collectionName = object.collectionName ?? \"\";\n return message;\n },\n};\n\nfunction createBaseGetSchemaRequest(): GetSchemaRequest {\n return { schemaName: \"\" };\n}\n\nexport const GetSchemaRequest: MessageFns<GetSchemaRequest> = {\n encode(message: GetSchemaRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.schemaName !== \"\") {\n writer.uint32(10).string(message.schemaName);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetSchemaRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetSchemaRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.schemaName = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetSchemaRequest {\n return { schemaName: isSet(object.schemaName) ? globalThis.String(object.schemaName) : \"\" };\n },\n\n toJSON(message: GetSchemaRequest): unknown {\n const obj: any = {};\n if (message.schemaName !== \"\") {\n obj.schemaName = message.schemaName;\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetSchemaRequest>): GetSchemaRequest {\n return GetSchemaRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetSchemaRequest>): GetSchemaRequest {\n const message = createBaseGetSchemaRequest();\n message.schemaName = object.schemaName ?? \"\";\n return message;\n },\n};\n\nfunction createBaseGetSchemasRequest(): GetSchemasRequest {\n return {};\n}\n\nexport const GetSchemasRequest: MessageFns<GetSchemasRequest> = {\n encode(_: GetSchemasRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetSchemasRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetSchemasRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): GetSchemasRequest {\n return {};\n },\n\n toJSON(_: GetSchemasRequest): unknown {\n const obj: any = {};\n return obj;\n },\n\n create(base?: DeepPartial<GetSchemasRequest>): GetSchemasRequest {\n return GetSchemasRequest.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<GetSchemasRequest>): GetSchemasRequest {\n const message = createBaseGetSchemasRequest();\n return message;\n },\n};\n\nfunction createBaseGetSchemasResponse(): GetSchemasResponse {\n return { schemas: [] };\n}\n\nexport const GetSchemasResponse: MessageFns<GetSchemasResponse> = {\n encode(message: GetSchemasResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.schemas) {\n Schema.encode(v!, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetSchemasResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetSchemasResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.schemas.push(Schema.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetSchemasResponse {\n return {\n schemas: globalThis.Array.isArray(object?.schemas) ? object.schemas.map((e: any) => Schema.fromJSON(e)) : [],\n };\n },\n\n toJSON(message: GetSchemasResponse): unknown {\n const obj: any = {};\n if (message.schemas?.length) {\n obj.schemas = message.schemas.map((e) => Schema.toJSON(e));\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetSchemasResponse>): GetSchemasResponse {\n return GetSchemasResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetSchemasResponse>): GetSchemasResponse {\n const message = createBaseGetSchemasResponse();\n message.schemas = object.schemas?.map((e) => Schema.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseDropCollectionResponse(): DropCollectionResponse {\n return { result: \"\" };\n}\n\nexport const DropCollectionResponse: MessageFns<DropCollectionResponse> = {\n encode(message: DropCollectionResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.result !== \"\") {\n writer.uint32(10).string(message.result);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): DropCollectionResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDropCollectionResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.result = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): DropCollectionResponse {\n return { result: isSet(object.result) ? globalThis.String(object.result) : \"\" };\n },\n\n toJSON(message: DropCollectionResponse): unknown {\n const obj: any = {};\n if (message.result !== \"\") {\n obj.result = message.result;\n }\n return obj;\n },\n\n create(base?: DeepPartial<DropCollectionResponse>): DropCollectionResponse {\n return DropCollectionResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<DropCollectionResponse>): DropCollectionResponse {\n const message = createBaseDropCollectionResponse();\n message.result = object.result ?? \"\";\n return message;\n },\n};\n\nfunction createBaseSchema(): Schema {\n return { name: \"\", fields: \"\", modelOptions: \"\", collectionName: \"\", fieldHash: \"\" };\n}\n\nexport const Schema: MessageFns<Schema> = {\n encode(message: Schema, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.fields !== \"\") {\n writer.uint32(18).string(message.fields);\n }\n if (message.modelOptions !== \"\") {\n writer.uint32(26).string(message.modelOptions);\n }\n if (message.collectionName !== \"\") {\n writer.uint32(34).string(message.collectionName);\n }\n if (message.fieldHash !== \"\") {\n writer.uint32(42).string(message.fieldHash);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Schema {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSchema();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.fields = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.modelOptions = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.collectionName = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.fieldHash = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Schema {\n return {\n name: isSet(object.name) ? globalThis.String(object.name) : \"\",\n fields: isSet(object.fields) ? globalThis.String(object.fields) : \"\",\n modelOptions: isSet(object.modelOptions) ? globalThis.String(object.modelOptions) : \"\",\n collectionName: isSet(object.collectionName) ? globalThis.String(object.collectionName) : \"\",\n fieldHash: isSet(object.fieldHash) ? globalThis.String(object.fieldHash) : \"\",\n };\n },\n\n toJSON(message: Schema): unknown {\n const obj: any = {};\n if (message.name !== \"\") {\n obj.name = message.name;\n }\n if (message.fields !== \"\") {\n obj.fields = message.fields;\n }\n if (message.modelOptions !== \"\") {\n obj.modelOptions = message.modelOptions;\n }\n if (message.collectionName !== \"\") {\n obj.collectionName = message.collectionName;\n }\n if (message.fieldHash !== \"\") {\n obj.fieldHash = message.fieldHash;\n }\n return obj;\n },\n\n create(base?: DeepPartial<Schema>): Schema {\n return Schema.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Schema>): Schema {\n const message = createBaseSchema();\n message.name = object.name ?? \"\";\n message.fields = object.fields ?? \"\";\n message.modelOptions = object.modelOptions ?? \"\";\n message.collectionName = object.collectionName ?? \"\";\n message.fieldHash = object.fieldHash ?? \"\";\n return message;\n },\n};\n\nfunction createBaseSchemaExtension(): SchemaExtension {\n return { schemaName: \"\", fields: \"\" };\n}\n\nexport const SchemaExtension: MessageFns<SchemaExtension> = {\n encode(message: SchemaExtension, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.schemaName !== \"\") {\n writer.uint32(10).string(message.schemaName);\n }\n if (message.fields !== \"\") {\n writer.uint32(18).string(message.fields);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SchemaExtension {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSchemaExtension();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.schemaName = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.fields = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SchemaExtension {\n return {\n schemaName: isSet(object.schemaName) ? globalThis.String(object.schemaName) : \"\",\n fields: isSet(object.fields) ? globalThis.String(object.fields) : \"\",\n };\n },\n\n toJSON(message: SchemaExtension): unknown {\n const obj: any = {};\n if (message.schemaName !== \"\") {\n obj.schemaName = message.schemaName;\n }\n if (message.fields !== \"\") {\n obj.fields = message.fields;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SchemaExtension>): SchemaExtension {\n return SchemaExtension.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SchemaExtension>): SchemaExtension {\n const message = createBaseSchemaExtension();\n message.schemaName = object.schemaName ?? \"\";\n message.fields = object.fields ?? \"\";\n return message;\n },\n};\n\nfunction createBaseFindOneRequest(): FindOneRequest {\n return {\n schemaName: \"\",\n query: \"\",\n select: undefined,\n populate: [],\n userId: undefined,\n scope: undefined,\n readPreference: undefined,\n };\n}\n\nexport const FindOneRequest: MessageFns<FindOneRequest> = {\n encode(message: FindOneRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.schemaName !== \"\") {\n writer.uint32(10).string(message.schemaName);\n }\n if (message.query !== \"\") {\n writer.uint32(18).string(message.query);\n }\n if (message.select !== undefined) {\n writer.uint32(26).string(message.select);\n }\n for (const v of message.populate) {\n writer.uint32(34).string(v!);\n }\n if (message.userId !== undefined) {\n writer.uint32(42).string(message.userId);\n }\n if (message.scope !== undefined) {\n writer.uint32(50).string(message.scope);\n }\n if (message.readPreference !== undefined) {\n writer.uint32(58).string(message.readPreference);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): FindOneRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFindOneRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.schemaName = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.query = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.select = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.populate.push(reader.string());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.userId = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.scope = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.readPreference = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): FindOneRequest {\n return {\n schemaName: isSet(object.schemaName) ? globalThis.String(object.schemaName) : \"\",\n query: isSet(object.query) ? globalThis.String(object.query) : \"\",\n select: isSet(object.select) ? globalThis.String(object.select) : undefined,\n populate: globalThis.Array.isArray(object?.populate) ? object.populate.map((e: any) => globalThis.String(e)) : [],\n userId: isSet(object.userId) ? globalThis.String(object.userId) : undefined,\n scope: isSet(object.scope) ? globalThis.String(object.scope) : undefined,\n readPreference: isSet(object.readPreference) ? globalThis.String(object.readPreference) : undefined,\n };\n },\n\n toJSON(message: FindOneRequest): unknown {\n const obj: any = {};\n if (message.schemaName !== \"\") {\n obj.schemaName = message.schemaName;\n }\n if (message.query !== \"\") {\n obj.query = message.query;\n }\n if (message.select !== undefined) {\n obj.select = message.select;\n }\n if (message.populate?.length) {\n obj.populate = message.populate;\n }\n if (message.userId !== undefined) {\n obj.userId = message.userId;\n }\n if (message.scope !== undefined) {\n obj.scope = message.scope;\n }\n if (message.readPreference !== undefined) {\n obj.readPreference = message.readPreference;\n }\n return obj;\n },\n\n create(base?: DeepPartial<FindOneRequest>): FindOneRequest {\n return FindOneRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<FindOneRequest>): FindOneRequest {\n const message = createBaseFindOneRequest();\n message.schemaName = object.schemaName ?? \"\";\n message.query = object.query ?? \"\";\n message.select = object.select ?? undefined;\n message.populate = object.populate?.map((e) => e) || [];\n message.userId = object.userId ?? undefined;\n message.scope = object.scope ?? undefined;\n message.readPreference = object.readPreference ?? undefined;\n return message;\n },\n};\n\nfunction createBaseFindRequest(): FindRequest {\n return {\n schemaName: \"\",\n query: \"\",\n select: undefined,\n skip: undefined,\n limit: undefined,\n sort: {},\n populate: [],\n userId: undefined,\n scope: undefined,\n readPreference: undefined,\n };\n}\n\nexport const FindRequest: MessageFns<FindRequest> = {\n encode(message: FindRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.schemaName !== \"\") {\n writer.uint32(10).string(message.schemaName);\n }\n if (message.query !== \"\") {\n writer.uint32(18).string(message.query);\n }\n if (message.select !== undefined) {\n writer.uint32(26).string(message.select);\n }\n if (message.skip !== undefined) {\n writer.uint32(32).int32(message.skip);\n }\n if (message.limit !== undefined) {\n writer.uint32(40).int32(message.limit);\n }\n globalThis.Object.entries(message.sort).forEach(([key, value]: [string, number]) => {\n FindRequest_SortEntry.encode({ key: key as any, value }, writer.uint32(50).fork()).join();\n });\n for (const v of message.populate) {\n writer.uint32(58).string(v!);\n }\n if (message.userId !== undefined) {\n writer.uint32(66).string(message.userId);\n }\n if (message.scope !== undefined) {\n writer.uint32(74).string(message.scope);\n }\n if (message.readPreference !== undefined) {\n writer.uint32(82).string(message.readPreference);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): FindRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFindRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.schemaName = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.query = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.select = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.skip = reader.int32();\n continue;\n }\n case 5: {\n if (tag !== 40) {\n break;\n }\n\n message.limit = reader.int32();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n const entry6 = FindRequest_SortEntry.decode(reader, reader.uint32());\n if (entry6.value !== undefined) {\n message.sort[entry6.key] = entry6.value;\n }\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.populate.push(reader.string());\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.userId = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.scope = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.readPreference = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): FindRequest {\n return {\n schemaName: isSet(object.schemaName) ? globalThis.String(object.schemaName) : \"\",\n query: isSet(object.query) ? globalThis.String(object.query) : \"\",\n select: isSet(object.select) ? globalThis.String(object.select) : undefined,\n skip: isSet(object.skip) ? globalThis.Number(object.skip) : undefined,\n limit: isSet(object.limit) ? globalThis.Number(object.limit) : undefined,\n sort: isObject(object.sort)\n ? (globalThis.Object.entries(object.sort) as [string, any][]).reduce(\n (acc: { [key: string]: number }, [key, value]: [string, any]) => {\n acc[key] = globalThis.Number(value);\n return acc;\n },\n {},\n )\n : {},\n populate: globalThis.Array.isArray(object?.populate) ? object.populate.map((e: any) => globalThis.String(e)) : [],\n userId: isSet(object.userId) ? globalThis.String(object.userId) : undefined,\n scope: isSet(object.scope) ? globalThis.String(object.scope) : undefined,\n readPreference: isSet(object.readPreference) ? globalThis.String(object.readPreference) : undefined,\n };\n },\n\n toJSON(message: FindRequest): unknown {\n const obj: any = {};\n if (message.schemaName !== \"\") {\n obj.schemaName = message.schemaName;\n }\n if (message.query !== \"\") {\n obj.query = message.query;\n }\n if (message.select !== undefined) {\n obj.select = message.select;\n }\n if (message.skip !== undefined) {\n obj.skip = Math.round(message.skip);\n }\n if (message.limit !== undefined) {\n obj.limit = Math.round(message.limit);\n }\n if (message.sort) {\n const entries = globalThis.Object.entries(message.sort) as [string, number][];\n if (entries.length > 0) {\n obj.sort = {};\n entries.forEach(([k, v]) => {\n obj.sort[k] = Math.round(v);\n });\n }\n }\n if (message.populate?.length) {\n obj.populate = message.populate;\n }\n if (message.userId !== undefined) {\n obj.userId = message.userId;\n }\n if (message.scope !== undefined) {\n obj.scope = message.scope;\n }\n if (message.readPreference !== undefined) {\n obj.readPreference = message.readPreference;\n }\n return obj;\n },\n\n create(base?: DeepPartial<FindRequest>): FindRequest {\n return FindRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<FindRequest>): FindRequest {\n const message = createBaseFindRequest();\n message.schemaName = object.schemaName ?? \"\";\n message.query = object.query ?? \"\";\n message.select = object.select ?? undefined;\n message.skip = object.skip ?? undefined;\n message.limit = object.limit ?? undefined;\n message.sort = (globalThis.Object.entries(object.sort ?? {}) as [string, number][]).reduce(\n (acc: { [key: string]: number }, [key, value]: [string, number]) => {\n if (value !== undefined) {\n acc[key] = globalThis.Number(value);\n }\n return acc;\n },\n {},\n );\n message.populate = object.populate?.map((e) => e) || [];\n message.userId = object.userId ?? undefined;\n message.scope = object.scope ?? undefined;\n message.readPreference = object.readPreference ?? undefined;\n return message;\n },\n};\n\nfunction createBaseFindRequest_SortEntry(): FindRequest_SortEntry {\n return { key: \"\", value: 0 };\n}\n\nexport const FindRequest_SortEntry: MessageFns<FindRequest_SortEntry> = {\n encode(message: FindRequest_SortEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.key !== \"\") {\n writer.uint32(10).string(message.key);\n }\n if (message.value !== 0) {\n writer.uint32(16).int32(message.value);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): FindRequest_SortEntry {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFindRequest_SortEntry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.key = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.value = reader.int32();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): FindRequest_SortEntry {\n return {\n key: isSet(object.key) ? globalThis.String(object.key) : \"\",\n value: isSet(object.value) ? globalThis.Number(object.value) : 0,\n };\n },\n\n toJSON(message: FindRequest_SortEntry): unknown {\n const obj: any = {};\n if (message.key !== \"\") {\n obj.key = message.key;\n }\n if (message.value !== 0) {\n obj.value = Math.round(message.value);\n }\n return obj;\n },\n\n create(base?: DeepPartial<FindRequest_SortEntry>): FindRequest_SortEntry {\n return FindRequest_SortEntry.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<FindRequest_SortEntry>): FindRequest_SortEntry {\n const message = createBaseFindRequest_SortEntry();\n message.key = object.key ?? \"\";\n message.value = object.value ?? 0;\n return message;\n },\n};\n\nfunction createBaseQueryResponse(): QueryResponse {\n return { result: \"\" };\n}\n\nexport const QueryResponse: MessageFns<QueryResponse> = {\n encode(message: QueryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.result !== \"\") {\n writer.uint32(10).string(message.result);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.result = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryResponse {\n return { result: isSet(object.result) ? globalThis.String(object.result) : \"\" };\n },\n\n toJSON(message: QueryResponse): unknown {\n const obj: any = {};\n if (message.result !== \"\") {\n obj.result = message.result;\n }\n return obj;\n },\n\n create(base?: DeepPartial<QueryResponse>): QueryResponse {\n return QueryResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<QueryResponse>): QueryResponse {\n const message = createBaseQueryResponse();\n message.result = object.result ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryRequest(): QueryRequest {\n return { schemaName: \"\", query: \"\", userId: undefined, scope: undefined, readPreference: undefined };\n}\n\nexport const QueryRequest: MessageFns<QueryRequest> = {\n encode(message: QueryRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.schemaName !== \"\") {\n writer.uint32(10).string(message.schemaName);\n }\n if (message.query !== \"\") {\n writer.uint32(18).string(message.query);\n }\n if (message.userId !== undefined) {\n writer.uint32(26).string(message.userId);\n }\n if (message.scope !== undefined) {\n writer.uint32(34).string(message.scope);\n }\n if (message.readPreference !== undefined) {\n writer.uint32(42).string(message.readPreference);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.schemaName = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.query = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.userId = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.scope = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.readPreference = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryRequest {\n return {\n schemaName: isSet(object.schemaName) ? globalThis.String(object.schemaName) : \"\",\n query: isSet(object.query) ? globalThis.String(object.query) : \"\",\n userId: isSet(object.userId) ? globalThis.String(object.userId) : undefined,\n scope: isSet(object.scope) ? globalThis.String(object.scope) : undefined,\n readPreference: isSet(object.readPreference) ? globalThis.String(object.readPreference) : undefined,\n };\n },\n\n toJSON(message: QueryRequest): unknown {\n const obj: any = {};\n if (message.schemaName !== \"\") {\n obj.schemaName = message.schemaName;\n }\n if (message.query !== \"\") {\n obj.query = message.query;\n }\n if (message.userId !== undefined) {\n obj.userId = message.userId;\n }\n if (message.scope !== undefined) {\n obj.scope = message.scope;\n }\n if (message.readPreference !== undefined) {\n obj.readPreference = message.readPreference;\n }\n return obj;\n },\n\n create(base?: DeepPartial<QueryRequest>): QueryRequest {\n return QueryRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<QueryRequest>): QueryRequest {\n const message = createBaseQueryRequest();\n message.schemaName = object.schemaName ?? \"\";\n message.query = object.query ?? \"\";\n message.userId = object.userId ?? undefined;\n message.scope = object.scope ?? undefined;\n message.readPreference = object.readPreference ?? undefined;\n return message;\n },\n};\n\nfunction createBaseRawQueryRequest(): RawQueryRequest {\n return { schemaName: \"\", query: undefined };\n}\n\nexport const RawQueryRequest: MessageFns<RawQueryRequest> = {\n encode(message: RawQueryRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.schemaName !== \"\") {\n writer.uint32(10).string(message.schemaName);\n }\n if (message.query !== undefined) {\n RawQueryRequest_RawQuery.encode(message.query, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RawQueryRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRawQueryRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.schemaName = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.query = RawQueryRequest_RawQuery.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RawQueryRequest {\n return {\n schemaName: isSet(object.schemaName) ? globalThis.String(object.schemaName) : \"\",\n query: isSet(object.query) ? RawQueryRequest_RawQuery.fromJSON(object.query) : undefined,\n };\n },\n\n toJSON(message: RawQueryRequest): unknown {\n const obj: any = {};\n if (message.schemaName !== \"\") {\n obj.schemaName = message.schemaName;\n }\n if (message.query !== undefined) {\n obj.query = RawQueryRequest_RawQuery.toJSON(message.query);\n }\n return obj;\n },\n\n create(base?: DeepPartial<RawQueryRequest>): RawQueryRequest {\n return RawQueryRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<RawQueryRequest>): RawQueryRequest {\n const message = createBaseRawQueryRequest();\n message.schemaName = object.schemaName ?? \"\";\n message.query = (object.query !== undefined && object.query !== null)\n ? RawQueryRequest_RawQuery.fromPartial(object.query)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseRawQueryRequest_RawQuery(): RawQueryRequest_RawQuery {\n return { mongoQuery: undefined, sqlQuery: undefined };\n}\n\nexport const RawQueryRequest_RawQuery: MessageFns<RawQueryRequest_RawQuery> = {\n encode(message: RawQueryRequest_RawQuery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.mongoQuery !== undefined) {\n RawQueryRequest_RawQuery_MongoQuery.encode(message.mongoQuery, writer.uint32(10).fork()).join();\n }\n if (message.sqlQuery !== undefined) {\n RawQueryRequest_RawQuery_SQLQuery.encode(message.sqlQuery, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RawQueryRequest_RawQuery {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRawQueryRequest_RawQuery();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.mongoQuery = RawQueryRequest_RawQuery_MongoQuery.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.sqlQuery = RawQueryRequest_RawQuery_SQLQuery.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RawQueryRequest_RawQuery {\n return {\n mongoQuery: isSet(object.mongoQuery)\n ? RawQueryRequest_RawQuery_MongoQuery.fromJSON(object.mongoQuery)\n : undefined,\n sqlQuery: isSet(object.sqlQuery) ? RawQueryRequest_RawQuery_SQLQuery.fromJSON(object.sqlQuery) : undefined,\n };\n },\n\n toJSON(message: RawQueryRequest_RawQuery): unknown {\n const obj: any = {};\n if (message.mongoQuery !== undefined) {\n obj.mongoQuery = RawQueryRequest_RawQuery_MongoQuery.toJSON(message.mongoQuery);\n }\n if (message.sqlQuery !== undefined) {\n obj.sqlQuery = RawQueryRequest_RawQuery_SQLQuery.toJSON(message.sqlQuery);\n }\n return obj;\n },\n\n create(base?: DeepPartial<RawQueryRequest_RawQuery>): RawQueryRequest_RawQuery {\n return RawQueryRequest_RawQuery.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<RawQueryRequest_RawQuery>): RawQueryRequest_RawQuery {\n const message = createBaseRawQueryRequest_RawQuery();\n message.mongoQuery = (object.mongoQuery !== undefined && object.mongoQuery !== null)\n ? RawQueryRequest_RawQuery_MongoQuery.fromPartial(object.mongoQuery)\n : undefined;\n message.sqlQuery = (object.sqlQuery !== undefined && object.sqlQuery !== null)\n ? RawQueryRequest_RawQuery_SQLQuery.fromPartial(object.sqlQuery)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseRawQueryRequest_RawQuery_MongoQuery(): RawQueryRequest_RawQuery_MongoQuery {\n return {\n aggregate: undefined,\n count: undefined,\n deleteOne: undefined,\n deleteMany: undefined,\n drop: undefined,\n explain: undefined,\n find: undefined,\n insertOne: undefined,\n insertMany: undefined,\n updateOne: undefined,\n updateMany: undefined,\n options: undefined,\n };\n}\n\nexport const RawQueryRequest_RawQuery_MongoQuery: MessageFns<RawQueryRequest_RawQuery_MongoQuery> = {\n encode(message: RawQueryRequest_RawQuery_MongoQuery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.aggregate !== undefined) {\n writer.uint32(10).string(message.aggregate);\n }\n if (message.count !== undefined) {\n writer.uint32(18).string(message.count);\n }\n if (message.deleteOne !== undefined) {\n writer.uint32(26).string(message.deleteOne);\n }\n if (message.deleteMany !== undefined) {\n writer.uint32(34).string(message.deleteMany);\n }\n if (message.drop !== undefined) {\n writer.uint32(42).string(message.drop);\n }\n if (message.explain !== undefined) {\n writer.uint32(50).string(message.explain);\n }\n if (message.find !== undefined) {\n writer.uint32(58).string(message.find);\n }\n if (message.insertOne !== undefined) {\n writer.uint32(66).string(message.insertOne);\n }\n if (message.insertMany !== undefined) {\n writer.uint32(74).string(message.insertMany);\n }\n if (message.updateOne !== undefined) {\n writer.uint32(82).string(message.updateOne);\n }\n if (message.updateMany !== undefined) {\n writer.uint32(90).string(message.updateMany);\n }\n if (message.options !== undefined) {\n writer.uint32(98).string(message.options);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RawQueryRequest_RawQuery_MongoQuery {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRawQueryRequest_RawQuery_MongoQuery();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.aggregate = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.count = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.deleteOne = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.deleteMany = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.drop = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.explain = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.find = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.insertOne = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.insertMany = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.updateOne = reader.string();\n continue;\n }\n case 11: {\n if (tag !== 90) {\n break;\n }\n\n message.updateMany = reader.string();\n continue;\n }\n case 12: {\n if (tag !== 98) {\n break;\n }\n\n message.options = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RawQueryRequest_RawQuery_MongoQuery {\n return {\n aggregate: isSet(object.aggregate) ? globalThis.String(object.aggregate) : undefined,\n count: isSet(object.count) ? globalThis.String(object.count) : undefined,\n deleteOne: isSet(object.deleteOne) ? globalThis.String(object.deleteOne) : undefined,\n deleteMany: isSet(object.deleteMany) ? globalThis.String(object.deleteMany) : undefined,\n drop: isSet(object.drop) ? globalThis.String(object.drop) : undefined,\n explain: isSet(object.explain) ? globalThis.String(object.explain) : undefined,\n find: isSet(object.find) ? globalThis.String(object.find) : undefined,\n insertOne: isSet(object.insertOne) ? globalThis.String(object.insertOne) : undefined,\n insertMany: isSet(object.insertMany) ? globalThis.String(object.insertMany) : undefined,\n updateOne: isSet(object.updateOne) ? globalThis.String(object.updateOne) : undefined,\n updateMany: isSet(object.updateMany) ? globalThis.String(object.updateMany) : undefined,\n options: isSet(object.options) ? globalThis.String(object.options) : undefined,\n };\n },\n\n toJSON(message: RawQueryRequest_RawQuery_MongoQuery): unknown {\n const obj: any = {};\n if (message.aggregate !== undefined) {\n obj.aggregate = message.aggregate;\n }\n if (message.count !== undefined) {\n obj.count = message.count;\n }\n if (message.deleteOne !== undefined) {\n obj.deleteOne = message.deleteOne;\n }\n if (message.deleteMany !== undefined) {\n obj.deleteMany = message.deleteMany;\n }\n if (message.drop !== undefined) {\n obj.drop = message.drop;\n }\n if (message.explain !== undefined) {\n obj.explain = message.explain;\n }\n if (message.find !== undefined) {\n obj.find = message.find;\n }\n if (message.insertOne !== undefined) {\n obj.insertOne = message.insertOne;\n }\n if (message.insertMany !== undefined) {\n obj.insertMany = message.insertMany;\n }\n if (message.updateOne !== undefined) {\n obj.updateOne = message.updateOne;\n }\n if (message.updateMany !== undefined) {\n obj.updateMany = message.updateMany;\n }\n if (message.options !== undefined) {\n obj.options = message.options;\n }\n return obj;\n },\n\n create(base?: DeepPartial<RawQueryRequest_RawQuery_MongoQuery>): RawQueryRequest_RawQuery_MongoQuery {\n return RawQueryRequest_RawQuery_MongoQuery.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<RawQueryRequest_RawQuery_MongoQuery>): RawQueryRequest_RawQuery_MongoQuery {\n const message = createBaseRawQueryRequest_RawQuery_MongoQuery();\n message.aggregate = object.aggregate ?? undefined;\n message.count = object.count ?? undefined;\n message.deleteOne = object.deleteOne ?? undefined;\n message.deleteMany = object.deleteMany ?? undefined;\n message.drop = object.drop ?? undefined;\n message.explain = object.explain ?? undefined;\n message.find = object.find ?? undefined;\n message.insertOne = object.insertOne ?? undefined;\n message.insertMany = object.insertMany ?? undefined;\n message.updateOne = object.updateOne ?? undefined;\n message.updateMany = object.updateMany ?? undefined;\n message.options = object.options ?? undefined;\n return message;\n },\n};\n\nfunction createBaseRawQueryRequest_RawQuery_SQLQuery(): RawQueryRequest_RawQuery_SQLQuery {\n return { query: \"\", options: undefined };\n}\n\nexport const RawQueryRequest_RawQuery_SQLQuery: MessageFns<RawQueryRequest_RawQuery_SQLQuery> = {\n encode(message: RawQueryRequest_RawQuery_SQLQuery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.query !== \"\") {\n writer.uint32(10).string(message.query);\n }\n if (message.options !== undefined) {\n writer.uint32(18).string(message.options);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RawQueryRequest_RawQuery_SQLQuery {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRawQueryRequest_RawQuery_SQLQuery();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.query = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.options = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RawQueryRequest_RawQuery_SQLQuery {\n return {\n query: isSet(object.query) ? globalThis.String(object.query) : \"\",\n options: isSet(object.options) ? globalThis.String(object.options) : undefined,\n };\n },\n\n toJSON(message: RawQueryRequest_RawQuery_SQLQuery): unknown {\n const obj: any = {};\n if (message.query !== \"\") {\n obj.query = message.query;\n }\n if (message.options !== undefined) {\n obj.options = message.options;\n }\n return obj;\n },\n\n create(base?: DeepPartial<RawQueryRequest_RawQuery_SQLQuery>): RawQueryRequest_RawQuery_SQLQuery {\n return RawQueryRequest_RawQuery_SQLQuery.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<RawQueryRequest_RawQuery_SQLQuery>): RawQueryRequest_RawQuery_SQLQuery {\n const message = createBaseRawQueryRequest_RawQuery_SQLQuery();\n message.query = object.query ?? \"\";\n message.options = object.options ?? undefined;\n return message;\n },\n};\n\nfunction createBaseCreateViewRequest(): CreateViewRequest {\n return { schemaName: \"\", viewName: \"\", joinedSchemas: [], query: undefined };\n}\n\nexport const CreateViewRequest: MessageFns<CreateViewRequest> = {\n encode(message: CreateViewRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.schemaName !== \"\") {\n writer.uint32(10).string(message.schemaName);\n }\n if (message.viewName !== \"\") {\n writer.uint32(18).string(message.viewName);\n }\n for (const v of message.joinedSchemas) {\n writer.uint32(26).string(v!);\n }\n if (message.query !== undefined) {\n CreateViewRequest_RawQuery.encode(message.query, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): CreateViewRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseCreateViewRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.schemaName = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.viewName = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.joinedSchemas.push(reader.string());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.query = CreateViewRequest_RawQuery.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): CreateViewRequest {\n return {\n schemaName: isSet(object.schemaName) ? globalThis.String(object.schemaName) : \"\",\n viewName: isSet(object.viewName) ? globalThis.String(object.viewName) : \"\",\n joinedSchemas: globalThis.Array.isArray(object?.joinedSchemas)\n ? object.joinedSchemas.map((e: any) => globalThis.String(e))\n : [],\n query: isSet(object.query) ? CreateViewRequest_RawQuery.fromJSON(object.query) : undefined,\n };\n },\n\n toJSON(message: CreateViewRequest): unknown {\n const obj: any = {};\n if (message.schemaName !== \"\") {\n obj.schemaName = message.schemaName;\n }\n if (message.viewName !== \"\") {\n obj.viewName = message.viewName;\n }\n if (message.joinedSchemas?.length) {\n obj.joinedSchemas = message.joinedSchemas;\n }\n if (message.query !== undefined) {\n obj.query = CreateViewRequest_RawQuery.toJSON(message.query);\n }\n return obj;\n },\n\n create(base?: DeepPartial<CreateViewRequest>): CreateViewRequest {\n return CreateViewRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<CreateViewRequest>): CreateViewRequest {\n const message = createBaseCreateViewRequest();\n message.schemaName = object.schemaName ?? \"\";\n message.viewName = object.viewName ?? \"\";\n message.joinedSchemas = object.joinedSchemas?.map((e) => e) || [];\n message.query = (object.query !== undefined && object.query !== null)\n ? CreateViewRequest_RawQuery.fromPartial(object.query)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseCreateViewRequest_RawQuery(): CreateViewRequest_RawQuery {\n return { mongoQuery: \"\", sqlQuery: \"\" };\n}\n\nexport const CreateViewRequest_RawQuery: MessageFns<CreateViewRequest_RawQuery> = {\n encode(message: CreateViewRequest_RawQuery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.mongoQuery !== \"\") {\n writer.uint32(10).string(message.mongoQuery);\n }\n if (message.sqlQuery !== \"\") {\n writer.uint32(18).string(message.sqlQuery);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): CreateViewRequest_RawQuery {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseCreateViewRequest_RawQuery();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.mongoQuery = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.sqlQuery = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): CreateViewRequest_RawQuery {\n return {\n mongoQuery: isSet(object.mongoQuery) ? globalThis.String(object.mongoQuery) : \"\",\n sqlQuery: isSet(object.sqlQuery) ? globalThis.String(object.sqlQuery) : \"\",\n };\n },\n\n toJSON(message: CreateViewRequest_RawQuery): unknown {\n const obj: any = {};\n if (message.mongoQuery !== \"\") {\n obj.mongoQuery = message.mongoQuery;\n }\n if (message.sqlQuery !== \"\") {\n obj.sqlQuery = message.sqlQuery;\n }\n return obj;\n },\n\n create(base?: DeepPartial<CreateViewRequest_RawQuery>): CreateViewRequest_RawQuery {\n return CreateViewRequest_RawQuery.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<CreateViewRequest_RawQuery>): CreateViewRequest_RawQuery {\n const message = createBaseCreateViewRequest_RawQuery();\n message.mongoQuery = object.mongoQuery ?? \"\";\n message.sqlQuery = object.sqlQuery ?? \"\";\n return message;\n },\n};\n\nfunction createBaseDeleteViewRequest(): DeleteViewRequest {\n return { viewName: \"\" };\n}\n\nexport const DeleteViewRequest: MessageFns<DeleteViewRequest> = {\n encode(message: DeleteViewRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.viewName !== \"\") {\n writer.uint32(10).string(message.viewName);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): DeleteViewRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDeleteViewRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.viewName = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): DeleteViewRequest {\n return { viewName: isSet(object.viewName) ? globalThis.String(object.viewName) : \"\" };\n },\n\n toJSON(message: DeleteViewRequest): unknown {\n const obj: any = {};\n if (message.viewName !== \"\") {\n obj.viewName = message.viewName;\n }\n return obj;\n },\n\n create(base?: DeepPartial<DeleteViewRequest>): DeleteViewRequest {\n return DeleteViewRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<DeleteViewRequest>): DeleteViewRequest {\n const message = createBaseDeleteViewRequest();\n message.viewName = object.viewName ?? \"\";\n return message;\n },\n};\n\nfunction createBaseUpdateRequest(): UpdateRequest {\n return { schemaName: \"\", id: \"\", query: \"\", populate: [], userId: undefined, scope: undefined };\n}\n\nexport const UpdateRequest: MessageFns<UpdateRequest> = {\n encode(message: UpdateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.schemaName !== \"\") {\n writer.uint32(10).string(message.schemaName);\n }\n if (message.id !== \"\") {\n writer.uint32(18).string(message.id);\n }\n if (message.query !== \"\") {\n writer.uint32(26).string(message.query);\n }\n for (const v of message.populate) {\n writer.uint32(34).string(v!);\n }\n if (message.userId !== undefined) {\n writer.uint32(42).string(message.userId);\n }\n if (message.scope !== undefined) {\n writer.uint32(50).string(message.scope);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): UpdateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseUpdateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.schemaName = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.query = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.populate.push(reader.string());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.userId = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.scope = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): UpdateRequest {\n return {\n schemaName: isSet(object.schemaName) ? globalThis.String(object.schemaName) : \"\",\n id: isSet(object.id) ? globalThis.String(object.id) : \"\",\n query: isSet(object.query) ? globalThis.String(object.query) : \"\",\n populate: globalThis.Array.isArray(object?.populate) ? object.populate.map((e: any) => globalThis.String(e)) : [],\n userId: isSet(object.userId) ? globalThis.String(object.userId) : undefined,\n scope: isSet(object.scope) ? globalThis.String(object.scope) : undefined,\n };\n },\n\n toJSON(message: UpdateRequest): unknown {\n const obj: any = {};\n if (message.schemaName !== \"\") {\n obj.schemaName = message.schemaName;\n }\n if (message.id !== \"\") {\n obj.id = message.id;\n }\n if (message.query !== \"\") {\n obj.query = message.query;\n }\n if (message.populate?.length) {\n obj.populate = message.populate;\n }\n if (message.userId !== undefined) {\n obj.userId = message.userId;\n }\n if (message.scope !== undefined) {\n obj.scope = message.scope;\n }\n return obj;\n },\n\n create(base?: DeepPartial<UpdateRequest>): UpdateRequest {\n return UpdateRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<UpdateRequest>): UpdateRequest {\n const message = createBaseUpdateRequest();\n message.schemaName = object.schemaName ?? \"\";\n message.id = object.id ?? \"\";\n message.query = object.query ?? \"\";\n message.populate = object.populate?.map((e) => e) || [];\n message.userId = object.userId ?? undefined;\n message.scope = object.scope ?? undefined;\n return message;\n },\n};\n\nfunction createBaseUpdateManyRequest(): UpdateManyRequest {\n return { schemaName: \"\", filterQuery: \"\", query: \"\", populate: [], userId: undefined, scope: undefined };\n}\n\nexport const UpdateManyRequest: MessageFns<UpdateManyRequest> = {\n encode(message: UpdateManyRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.schemaName !== \"\") {\n writer.uint32(10).string(message.schemaName);\n }\n if (message.filterQuery !== \"\") {\n writer.uint32(18).string(message.filterQuery);\n }\n if (message.query !== \"\") {\n writer.uint32(26).string(message.query);\n }\n for (const v of message.populate) {\n writer.uint32(34).string(v!);\n }\n if (message.userId !== undefined) {\n writer.uint32(42).string(message.userId);\n }\n if (message.scope !== undefined) {\n writer.uint32(50).string(message.scope);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): UpdateManyRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseUpdateManyRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.schemaName = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.filterQuery = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.query = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.populate.push(reader.string());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.userId = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.scope = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): UpdateManyRequest {\n return {\n schemaName: isSet(object.schemaName) ? globalThis.String(object.schemaName) : \"\",\n filterQuery: isSet(object.filterQuery) ? globalThis.String(object.filterQuery) : \"\",\n query: isSet(object.query) ? globalThis.String(object.query) : \"\",\n populate: globalThis.Array.isArray(object?.populate) ? object.populate.map((e: any) => globalThis.String(e)) : [],\n userId: isSet(object.userId) ? globalThis.String(object.userId) : undefined,\n scope: isSet(object.scope) ? globalThis.String(object.scope) : undefined,\n };\n },\n\n toJSON(message: UpdateManyRequest): unknown {\n const obj: any = {};\n if (message.schemaName !== \"\") {\n obj.schemaName = message.schemaName;\n }\n if (message.filterQuery !== \"\") {\n obj.filterQuery = message.filterQuery;\n }\n if (message.query !== \"\") {\n obj.query = message.query;\n }\n if (message.populate?.length) {\n obj.populate = message.populate;\n }\n if (message.userId !== undefined) {\n obj.userId = message.userId;\n }\n if (message.scope !== undefined) {\n obj.scope = message.scope;\n }\n return obj;\n },\n\n create(base?: DeepPartial<UpdateManyRequest>): UpdateManyRequest {\n return UpdateManyRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<UpdateManyRequest>): UpdateManyRequest {\n const message = createBaseUpdateManyRequest();\n message.schemaName = object.schemaName ?? \"\";\n message.filterQuery = object.filterQuery ?? \"\";\n message.query = object.query ?? \"\";\n message.populate = object.populate?.map((e) => e) || [];\n message.userId = object.userId ?? undefined;\n message.scope = object.scope ?? undefined;\n return message;\n },\n};\n\nfunction createBaseDropCollectionRequest(): DropCollectionRequest {\n return { schemaName: \"\", deleteData: false };\n}\n\nexport const DropCollectionRequest: MessageFns<DropCollectionRequest> = {\n encode(message: DropCollectionRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.schemaName !== \"\") {\n writer.uint32(10).string(message.schemaName);\n }\n if (message.deleteData !== false) {\n writer.uint32(16).bool(message.deleteData);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): DropCollectionRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDropCollectionRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.schemaName = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.deleteData = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): DropCollectionRequest {\n return {\n schemaName: isSet(object.schemaName) ? globalThis.String(object.schemaName) : \"\",\n deleteData: isSet(object.deleteData) ? globalThis.Boolean(object.deleteData) : false,\n };\n },\n\n toJSON(message: DropCollectionRequest): unknown {\n const obj: any = {};\n if (message.schemaName !== \"\") {\n obj.schemaName = message.schemaName;\n }\n if (message.deleteData !== false) {\n obj.deleteData = message.deleteData;\n }\n return obj;\n },\n\n create(base?: DeepPartial<DropCollectionRequest>): DropCollectionRequest {\n return DropCollectionRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<DropCollectionRequest>): DropCollectionRequest {\n const message = createBaseDropCollectionRequest();\n message.schemaName = object.schemaName ?? \"\";\n message.deleteData = object.deleteData ?? false;\n return message;\n },\n};\n\nfunction createBaseMigrateRequest(): MigrateRequest {\n return { schemaName: \"\" };\n}\n\nexport const MigrateRequest: MessageFns<MigrateRequest> = {\n encode(message: MigrateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.schemaName !== \"\") {\n writer.uint32(10).string(message.schemaName);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MigrateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMigrateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.schemaName = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MigrateRequest {\n return { schemaName: isSet(object.schemaName) ? globalThis.String(object.schemaName) : \"\" };\n },\n\n toJSON(message: MigrateRequest): unknown {\n const obj: any = {};\n if (message.schemaName !== \"\") {\n obj.schemaName = message.schemaName;\n }\n return obj;\n },\n\n create(base?: DeepPartial<MigrateRequest>): MigrateRequest {\n return MigrateRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MigrateRequest>): MigrateRequest {\n const message = createBaseMigrateRequest();\n message.schemaName = object.schemaName ?? \"\";\n return message;\n },\n};\n\nfunction createBaseColumnExistenceRequest(): ColumnExistenceRequest {\n return { schemaName: \"\", columns: [] };\n}\n\nexport const ColumnExistenceRequest: MessageFns<ColumnExistenceRequest> = {\n encode(message: ColumnExistenceRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.schemaName !== \"\") {\n writer.uint32(10).string(message.schemaName);\n }\n for (const v of message.columns) {\n writer.uint32(18).string(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ColumnExistenceRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseColumnExistenceRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.schemaName = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.columns.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ColumnExistenceRequest {\n return {\n schemaName: isSet(object.schemaName) ? globalThis.String(object.schemaName) : \"\",\n columns: globalThis.Array.isArray(object?.columns) ? object.columns.map((e: any) => globalThis.String(e)) : [],\n };\n },\n\n toJSON(message: ColumnExistenceRequest): unknown {\n const obj: any = {};\n if (message.schemaName !== \"\") {\n obj.schemaName = message.schemaName;\n }\n if (message.columns?.length) {\n obj.columns = message.columns;\n }\n return obj;\n },\n\n create(base?: DeepPartial<ColumnExistenceRequest>): ColumnExistenceRequest {\n return ColumnExistenceRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ColumnExistenceRequest>): ColumnExistenceRequest {\n const message = createBaseColumnExistenceRequest();\n message.schemaName = object.schemaName ?? \"\";\n message.columns = object.columns?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseColumnExistenceResponse(): ColumnExistenceResponse {\n return { result: false };\n}\n\nexport const ColumnExistenceResponse: MessageFns<ColumnExistenceResponse> = {\n encode(message: ColumnExistenceResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.result !== false) {\n writer.uint32(8).bool(message.result);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ColumnExistenceResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseColumnExistenceResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.result = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ColumnExistenceResponse {\n return { result: isSet(object.result) ? globalThis.Boolean(object.result) : false };\n },\n\n toJSON(message: ColumnExistenceResponse): unknown {\n const obj: any = {};\n if (message.result !== false) {\n obj.result = message.result;\n }\n return obj;\n },\n\n create(base?: DeepPartial<ColumnExistenceResponse>): ColumnExistenceResponse {\n return ColumnExistenceResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ColumnExistenceResponse>): ColumnExistenceResponse {\n const message = createBaseColumnExistenceResponse();\n message.result = object.result ?? false;\n return message;\n },\n};\n\nfunction createBaseGetDatabaseTypeResponse(): GetDatabaseTypeResponse {\n return { result: \"\" };\n}\n\nexport const GetDatabaseTypeResponse: MessageFns<GetDatabaseTypeResponse> = {\n encode(message: GetDatabaseTypeResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.result !== \"\") {\n writer.uint32(10).string(message.result);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetDatabaseTypeResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetDatabaseTypeResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.result = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetDatabaseTypeResponse {\n return { result: isSet(object.result) ? globalThis.String(object.result) : \"\" };\n },\n\n toJSON(message: GetDatabaseTypeResponse): unknown {\n const obj: any = {};\n if (message.result !== \"\") {\n obj.result = message.result;\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetDatabaseTypeResponse>): GetDatabaseTypeResponse {\n return GetDatabaseTypeResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetDatabaseTypeResponse>): GetDatabaseTypeResponse {\n const message = createBaseGetDatabaseTypeResponse();\n message.result = object.result ?? \"\";\n return message;\n },\n};\n\nexport type DatabaseProviderDefinition = typeof DatabaseProviderDefinition;\nexport const DatabaseProviderDefinition = {\n name: \"DatabaseProvider\",\n fullName: \"database.DatabaseProvider\",\n methods: {\n createSchemaFromAdapter: {\n name: \"CreateSchemaFromAdapter\",\n requestType: CreateSchemaRequest as typeof CreateSchemaRequest,\n requestStream: false,\n responseType: Schema as typeof Schema,\n responseStream: false,\n options: {},\n },\n getSchema: {\n name: \"GetSchema\",\n requestType: GetSchemaRequest as typeof GetSchemaRequest,\n requestStream: false,\n responseType: Schema as typeof Schema,\n responseStream: false,\n options: {},\n },\n getSchemas: {\n name: \"GetSchemas\",\n requestType: GetSchemasRequest as typeof GetSchemasRequest,\n requestStream: false,\n responseType: GetSchemasResponse as typeof GetSchemasResponse,\n responseStream: false,\n options: {},\n },\n deleteSchema: {\n name: \"DeleteSchema\",\n requestType: DropCollectionRequest as typeof DropCollectionRequest,\n requestStream: false,\n responseType: DropCollectionResponse as typeof DropCollectionResponse,\n responseStream: false,\n options: {},\n },\n setSchemaExtension: {\n name: \"SetSchemaExtension\",\n requestType: SchemaExtension as typeof SchemaExtension,\n requestStream: false,\n responseType: Schema as typeof Schema,\n responseStream: false,\n options: {},\n },\n migrate: {\n name: \"Migrate\",\n requestType: MigrateRequest as typeof MigrateRequest,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n getDatabaseType: {\n name: \"GetDatabaseType\",\n requestType: Empty as typeof Empty,\n requestStream: false,\n responseType: GetDatabaseTypeResponse as typeof GetDatabaseTypeResponse,\n responseStream: false,\n options: {},\n },\n generateId: {\n name: \"GenerateId\",\n requestType: Empty as typeof Empty,\n requestStream: false,\n responseType: GetDatabaseTypeResponse as typeof GetDatabaseTypeResponse,\n responseStream: false,\n options: {},\n },\n /** Database queries */\n findOne: {\n name: \"findOne\",\n requestType: FindOneRequest as typeof FindOneRequest,\n requestStream: false,\n responseType: QueryResponse as typeof QueryResponse,\n responseStream: false,\n options: {},\n },\n findMany: {\n name: \"findMany\",\n requestType: FindRequest as typeof FindRequest,\n requestStream: false,\n responseType: QueryResponse as typeof QueryResponse,\n responseStream: false,\n options: {},\n },\n create: {\n name: \"create\",\n requestType: QueryRequest as typeof QueryRequest,\n requestStream: false,\n responseType: QueryResponse as typeof QueryResponse,\n responseStream: false,\n options: {},\n },\n createMany: {\n name: \"createMany\",\n requestType: QueryRequest as typeof QueryRequest,\n requestStream: false,\n responseType: QueryResponse as typeof QueryResponse,\n responseStream: false,\n options: {},\n },\n deleteOne: {\n name: \"deleteOne\",\n requestType: QueryRequest as typeof QueryRequest,\n requestStream: false,\n responseType: QueryResponse as typeof QueryResponse,\n responseStream: false,\n options: {},\n },\n deleteMany: {\n name: \"deleteMany\",\n requestType: QueryRequest as typeof QueryRequest,\n requestStream: false,\n responseType: QueryResponse as typeof QueryResponse,\n responseStream: false,\n options: {},\n },\n findByIdAndUpdate: {\n name: \"findByIdAndUpdate\",\n requestType: UpdateRequest as typeof UpdateRequest,\n requestStream: false,\n responseType: QueryResponse as typeof QueryResponse,\n responseStream: false,\n options: {},\n },\n findByIdAndReplace: {\n name: \"findByIdAndReplace\",\n requestType: UpdateRequest as typeof UpdateRequest,\n requestStream: false,\n responseType: QueryResponse as typeof QueryResponse,\n responseStream: false,\n options: {},\n },\n updateMany: {\n name: \"updateMany\",\n requestType: UpdateManyRequest as typeof UpdateManyRequest,\n requestStream: false,\n responseType: QueryResponse as typeof QueryResponse,\n responseStream: false,\n options: {},\n },\n updateOne: {\n name: \"updateOne\",\n requestType: UpdateManyRequest as typeof UpdateManyRequest,\n requestStream: false,\n responseType: QueryResponse as typeof QueryResponse,\n responseStream: false,\n options: {},\n },\n replaceOne: {\n name: \"replaceOne\",\n requestType: UpdateManyRequest as typeof UpdateManyRequest,\n requestStream: false,\n responseType: QueryResponse as typeof QueryResponse,\n responseStream: false,\n options: {},\n },\n countDocuments: {\n name: \"countDocuments\",\n requestType: QueryRequest as typeof QueryRequest,\n requestStream: false,\n responseType: QueryResponse as typeof QueryResponse,\n responseStream: false,\n options: {},\n },\n rawQuery: {\n name: \"rawQuery\",\n requestType: RawQueryRequest as typeof RawQueryRequest,\n requestStream: false,\n responseType: QueryResponse as typeof QueryResponse,\n responseStream: false,\n options: {},\n },\n createView: {\n name: \"createView\",\n requestType: CreateViewRequest as typeof CreateViewRequest,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n deleteView: {\n name: \"deleteView\",\n requestType: DeleteViewRequest as typeof DeleteViewRequest,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n columnExistence: {\n name: \"columnExistence\",\n requestType: ColumnExistenceRequest as typeof ColumnExistenceRequest,\n requestStream: false,\n responseType: ColumnExistenceResponse as typeof ColumnExistenceResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction isObject(value: any): boolean {\n return typeof value === \"object\" && value !== null;\n}\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.6\n// protoc v5.29.6\n// source: grpc_health_check.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\n\nexport interface HealthCheckRequest {\n service: string;\n}\n\nexport interface HealthCheckResponse {\n status: HealthCheckResponse_ServingStatus;\n}\n\nexport enum HealthCheckResponse_ServingStatus {\n UNKNOWN = 0,\n SERVING = 1,\n NOT_SERVING = 2,\n SERVICE_UNKNOWN = 3,\n UNRECOGNIZED = -1,\n}\n\nexport function healthCheckResponse_ServingStatusFromJSON(object: any): HealthCheckResponse_ServingStatus {\n switch (object) {\n case 0:\n case \"UNKNOWN\":\n return HealthCheckResponse_ServingStatus.UNKNOWN;\n case 1:\n case \"SERVING\":\n return HealthCheckResponse_ServingStatus.SERVING;\n case 2:\n case \"NOT_SERVING\":\n return HealthCheckResponse_ServingStatus.NOT_SERVING;\n case 3:\n case \"SERVICE_UNKNOWN\":\n return HealthCheckResponse_ServingStatus.SERVICE_UNKNOWN;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return HealthCheckResponse_ServingStatus.UNRECOGNIZED;\n }\n}\n\nexport function healthCheckResponse_ServingStatusToJSON(object: HealthCheckResponse_ServingStatus): string {\n switch (object) {\n case HealthCheckResponse_ServingStatus.UNKNOWN:\n return \"UNKNOWN\";\n case HealthCheckResponse_ServingStatus.SERVING:\n return \"SERVING\";\n case HealthCheckResponse_ServingStatus.NOT_SERVING:\n return \"NOT_SERVING\";\n case HealthCheckResponse_ServingStatus.SERVICE_UNKNOWN:\n return \"SERVICE_UNKNOWN\";\n case HealthCheckResponse_ServingStatus.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\nfunction createBaseHealthCheckRequest(): HealthCheckRequest {\n return { service: \"\" };\n}\n\nexport const HealthCheckRequest: MessageFns<HealthCheckRequest> = {\n encode(message: HealthCheckRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.service !== \"\") {\n writer.uint32(10).string(message.service);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): HealthCheckRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseHealthCheckRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.service = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): HealthCheckRequest {\n return { service: isSet(object.service) ? globalThis.String(object.service) : \"\" };\n },\n\n toJSON(message: HealthCheckRequest): unknown {\n const obj: any = {};\n if (message.service !== \"\") {\n obj.service = message.service;\n }\n return obj;\n },\n\n create(base?: DeepPartial<HealthCheckRequest>): HealthCheckRequest {\n return HealthCheckRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<HealthCheckRequest>): HealthCheckRequest {\n const message = createBaseHealthCheckRequest();\n message.service = object.service ?? \"\";\n return message;\n },\n};\n\nfunction createBaseHealthCheckResponse(): HealthCheckResponse {\n return { status: 0 };\n}\n\nexport const HealthCheckResponse: MessageFns<HealthCheckResponse> = {\n encode(message: HealthCheckResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.status !== 0) {\n writer.uint32(8).int32(message.status);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): HealthCheckResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseHealthCheckResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.status = reader.int32() as any;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): HealthCheckResponse {\n return { status: isSet(object.status) ? healthCheckResponse_ServingStatusFromJSON(object.status) : 0 };\n },\n\n toJSON(message: HealthCheckResponse): unknown {\n const obj: any = {};\n if (message.status !== 0) {\n obj.status = healthCheckResponse_ServingStatusToJSON(message.status);\n }\n return obj;\n },\n\n create(base?: DeepPartial<HealthCheckResponse>): HealthCheckResponse {\n return HealthCheckResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<HealthCheckResponse>): HealthCheckResponse {\n const message = createBaseHealthCheckResponse();\n message.status = object.status ?? 0;\n return message;\n },\n};\n\nexport type HealthDefinition = typeof HealthDefinition;\nexport const HealthDefinition = {\n name: \"Health\",\n fullName: \"grpc.health.v1.Health\",\n methods: {\n check: {\n name: \"Check\",\n requestType: HealthCheckRequest as typeof HealthCheckRequest,\n requestStream: false,\n responseType: HealthCheckResponse as typeof HealthCheckResponse,\n responseStream: false,\n options: {},\n },\n watch: {\n name: \"Watch\",\n requestType: HealthCheckRequest as typeof HealthCheckRequest,\n requestStream: false,\n responseType: HealthCheckResponse as typeof HealthCheckResponse,\n responseStream: true,\n options: {},\n },\n },\n} as const;\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.6\n// protoc v5.29.6\n// source: module.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\n\nexport interface SetConfigRequest {\n newConfig: string;\n}\n\nexport interface SetConfigResponse {\n updatedConfig: string;\n}\n\nexport interface GetExportableResourcesRequest {\n}\n\nexport interface GetExportableResourcesResponse {\n resources: string;\n}\n\nexport interface ExportResourcesRequest {\n resourceTypes: string[];\n}\n\nexport interface ExportResourcesResponse {\n data: string;\n}\n\nexport interface ImportResourcesRequest {\n data: string;\n}\n\nexport interface ImportResourcesResponse {\n result: string;\n}\n\nexport interface Request {\n params: string;\n path: string;\n headers: string;\n context: string;\n cookies: string;\n bodyParams: string;\n urlParams: string;\n queryParams: string;\n functionName: string;\n}\n\nexport interface Response {\n result: string;\n redirect: string;\n setCookies: Cookie[];\n removeCookies: Cookie[];\n}\n\nexport interface Cookie {\n name: string;\n value?: string | undefined;\n options: CookieOptions | undefined;\n}\n\nexport interface CookieOptions {\n httpOnly: boolean;\n secure: boolean;\n signed: boolean;\n maxAge: number;\n path: string;\n domain: string;\n sameSite: string;\n}\n\nexport interface SocketRequest {\n event: string;\n socketId: string;\n params: string;\n context: string;\n functionName: string;\n}\n\nexport interface SocketResponse {\n event: string;\n data: string;\n receivers: string[];\n rooms: string[];\n}\n\nfunction createBaseSetConfigRequest(): SetConfigRequest {\n return { newConfig: \"\" };\n}\n\nexport const SetConfigRequest: MessageFns<SetConfigRequest> = {\n encode(message: SetConfigRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.newConfig !== \"\") {\n writer.uint32(10).string(message.newConfig);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SetConfigRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSetConfigRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.newConfig = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SetConfigRequest {\n return { newConfig: isSet(object.newConfig) ? globalThis.String(object.newConfig) : \"\" };\n },\n\n toJSON(message: SetConfigRequest): unknown {\n const obj: any = {};\n if (message.newConfig !== \"\") {\n obj.newConfig = message.newConfig;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SetConfigRequest>): SetConfigRequest {\n return SetConfigRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SetConfigRequest>): SetConfigRequest {\n const message = createBaseSetConfigRequest();\n message.newConfig = object.newConfig ?? \"\";\n return message;\n },\n};\n\nfunction createBaseSetConfigResponse(): SetConfigResponse {\n return { updatedConfig: \"\" };\n}\n\nexport const SetConfigResponse: MessageFns<SetConfigResponse> = {\n encode(message: SetConfigResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.updatedConfig !== \"\") {\n writer.uint32(10).string(message.updatedConfig);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SetConfigResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSetConfigResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.updatedConfig = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SetConfigResponse {\n return { updatedConfig: isSet(object.updatedConfig) ? globalThis.String(object.updatedConfig) : \"\" };\n },\n\n toJSON(message: SetConfigResponse): unknown {\n const obj: any = {};\n if (message.updatedConfig !== \"\") {\n obj.updatedConfig = message.updatedConfig;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SetConfigResponse>): SetConfigResponse {\n return SetConfigResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SetConfigResponse>): SetConfigResponse {\n const message = createBaseSetConfigResponse();\n message.updatedConfig = object.updatedConfig ?? \"\";\n return message;\n },\n};\n\nfunction createBaseGetExportableResourcesRequest(): GetExportableResourcesRequest {\n return {};\n}\n\nexport const GetExportableResourcesRequest: MessageFns<GetExportableResourcesRequest> = {\n encode(_: GetExportableResourcesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetExportableResourcesRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetExportableResourcesRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): GetExportableResourcesRequest {\n return {};\n },\n\n toJSON(_: GetExportableResourcesRequest): unknown {\n const obj: any = {};\n return obj;\n },\n\n create(base?: DeepPartial<GetExportableResourcesRequest>): GetExportableResourcesRequest {\n return GetExportableResourcesRequest.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<GetExportableResourcesRequest>): GetExportableResourcesRequest {\n const message = createBaseGetExportableResourcesRequest();\n return message;\n },\n};\n\nfunction createBaseGetExportableResourcesResponse(): GetExportableResourcesResponse {\n return { resources: \"\" };\n}\n\nexport const GetExportableResourcesResponse: MessageFns<GetExportableResourcesResponse> = {\n encode(message: GetExportableResourcesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.resources !== \"\") {\n writer.uint32(10).string(message.resources);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetExportableResourcesResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetExportableResourcesResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.resources = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetExportableResourcesResponse {\n return { resources: isSet(object.resources) ? globalThis.String(object.resources) : \"\" };\n },\n\n toJSON(message: GetExportableResourcesResponse): unknown {\n const obj: any = {};\n if (message.resources !== \"\") {\n obj.resources = message.resources;\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetExportableResourcesResponse>): GetExportableResourcesResponse {\n return GetExportableResourcesResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetExportableResourcesResponse>): GetExportableResourcesResponse {\n const message = createBaseGetExportableResourcesResponse();\n message.resources = object.resources ?? \"\";\n return message;\n },\n};\n\nfunction createBaseExportResourcesRequest(): ExportResourcesRequest {\n return { resourceTypes: [] };\n}\n\nexport const ExportResourcesRequest: MessageFns<ExportResourcesRequest> = {\n encode(message: ExportResourcesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.resourceTypes) {\n writer.uint32(10).string(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ExportResourcesRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseExportResourcesRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.resourceTypes.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ExportResourcesRequest {\n return {\n resourceTypes: globalThis.Array.isArray(object?.resourceTypes)\n ? object.resourceTypes.map((e: any) => globalThis.String(e))\n : [],\n };\n },\n\n toJSON(message: ExportResourcesRequest): unknown {\n const obj: any = {};\n if (message.resourceTypes?.length) {\n obj.resourceTypes = message.resourceTypes;\n }\n return obj;\n },\n\n create(base?: DeepPartial<ExportResourcesRequest>): ExportResourcesRequest {\n return ExportResourcesRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ExportResourcesRequest>): ExportResourcesRequest {\n const message = createBaseExportResourcesRequest();\n message.resourceTypes = object.resourceTypes?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseExportResourcesResponse(): ExportResourcesResponse {\n return { data: \"\" };\n}\n\nexport const ExportResourcesResponse: MessageFns<ExportResourcesResponse> = {\n encode(message: ExportResourcesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.data !== \"\") {\n writer.uint32(10).string(message.data);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ExportResourcesResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseExportResourcesResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.data = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ExportResourcesResponse {\n return { data: isSet(object.data) ? globalThis.String(object.data) : \"\" };\n },\n\n toJSON(message: ExportResourcesResponse): unknown {\n const obj: any = {};\n if (message.data !== \"\") {\n obj.data = message.data;\n }\n return obj;\n },\n\n create(base?: DeepPartial<ExportResourcesResponse>): ExportResourcesResponse {\n return ExportResourcesResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ExportResourcesResponse>): ExportResourcesResponse {\n const message = createBaseExportResourcesResponse();\n message.data = object.data ?? \"\";\n return message;\n },\n};\n\nfunction createBaseImportResourcesRequest(): ImportResourcesRequest {\n return { data: \"\" };\n}\n\nexport const ImportResourcesRequest: MessageFns<ImportResourcesRequest> = {\n encode(message: ImportResourcesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.data !== \"\") {\n writer.uint32(10).string(message.data);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ImportResourcesRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseImportResourcesRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.data = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ImportResourcesRequest {\n return { data: isSet(object.data) ? globalThis.String(object.data) : \"\" };\n },\n\n toJSON(message: ImportResourcesRequest): unknown {\n const obj: any = {};\n if (message.data !== \"\") {\n obj.data = message.data;\n }\n return obj;\n },\n\n create(base?: DeepPartial<ImportResourcesRequest>): ImportResourcesRequest {\n return ImportResourcesRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ImportResourcesRequest>): ImportResourcesRequest {\n const message = createBaseImportResourcesRequest();\n message.data = object.data ?? \"\";\n return message;\n },\n};\n\nfunction createBaseImportResourcesResponse(): ImportResourcesResponse {\n return { result: \"\" };\n}\n\nexport const ImportResourcesResponse: MessageFns<ImportResourcesResponse> = {\n encode(message: ImportResourcesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.result !== \"\") {\n writer.uint32(10).string(message.result);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ImportResourcesResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseImportResourcesResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.result = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ImportResourcesResponse {\n return { result: isSet(object.result) ? globalThis.String(object.result) : \"\" };\n },\n\n toJSON(message: ImportResourcesResponse): unknown {\n const obj: any = {};\n if (message.result !== \"\") {\n obj.result = message.result;\n }\n return obj;\n },\n\n create(base?: DeepPartial<ImportResourcesResponse>): ImportResourcesResponse {\n return ImportResourcesResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ImportResourcesResponse>): ImportResourcesResponse {\n const message = createBaseImportResourcesResponse();\n message.result = object.result ?? \"\";\n return message;\n },\n};\n\nfunction createBaseRequest(): Request {\n return {\n params: \"\",\n path: \"\",\n headers: \"\",\n context: \"\",\n cookies: \"\",\n bodyParams: \"\",\n urlParams: \"\",\n queryParams: \"\",\n functionName: \"\",\n };\n}\n\nexport const Request: MessageFns<Request> = {\n encode(message: Request, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.params !== \"\") {\n writer.uint32(10).string(message.params);\n }\n if (message.path !== \"\") {\n writer.uint32(18).string(message.path);\n }\n if (message.headers !== \"\") {\n writer.uint32(26).string(message.headers);\n }\n if (message.context !== \"\") {\n writer.uint32(34).string(message.context);\n }\n if (message.cookies !== \"\") {\n writer.uint32(42).string(message.cookies);\n }\n if (message.bodyParams !== \"\") {\n writer.uint32(50).string(message.bodyParams);\n }\n if (message.urlParams !== \"\") {\n writer.uint32(58).string(message.urlParams);\n }\n if (message.queryParams !== \"\") {\n writer.uint32(66).string(message.queryParams);\n }\n if (message.functionName !== \"\") {\n writer.uint32(74).string(message.functionName);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Request {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.params = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.path = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.headers = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.context = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.cookies = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.bodyParams = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.urlParams = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.queryParams = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.functionName = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Request {\n return {\n params: isSet(object.params) ? globalThis.String(object.params) : \"\",\n path: isSet(object.path) ? globalThis.String(object.path) : \"\",\n headers: isSet(object.headers) ? globalThis.String(object.headers) : \"\",\n context: isSet(object.context) ? globalThis.String(object.context) : \"\",\n cookies: isSet(object.cookies) ? globalThis.String(object.cookies) : \"\",\n bodyParams: isSet(object.bodyParams) ? globalThis.String(object.bodyParams) : \"\",\n urlParams: isSet(object.urlParams) ? globalThis.String(object.urlParams) : \"\",\n queryParams: isSet(object.queryParams) ? globalThis.String(object.queryParams) : \"\",\n functionName: isSet(object.functionName) ? globalThis.String(object.functionName) : \"\",\n };\n },\n\n toJSON(message: Request): unknown {\n const obj: any = {};\n if (message.params !== \"\") {\n obj.params = message.params;\n }\n if (message.path !== \"\") {\n obj.path = message.path;\n }\n if (message.headers !== \"\") {\n obj.headers = message.headers;\n }\n if (message.context !== \"\") {\n obj.context = message.context;\n }\n if (message.cookies !== \"\") {\n obj.cookies = message.cookies;\n }\n if (message.bodyParams !== \"\") {\n obj.bodyParams = message.bodyParams;\n }\n if (message.urlParams !== \"\") {\n obj.urlParams = message.urlParams;\n }\n if (message.queryParams !== \"\") {\n obj.queryParams = message.queryParams;\n }\n if (message.functionName !== \"\") {\n obj.functionName = message.functionName;\n }\n return obj;\n },\n\n create(base?: DeepPartial<Request>): Request {\n return Request.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Request>): Request {\n const message = createBaseRequest();\n message.params = object.params ?? \"\";\n message.path = object.path ?? \"\";\n message.headers = object.headers ?? \"\";\n message.context = object.context ?? \"\";\n message.cookies = object.cookies ?? \"\";\n message.bodyParams = object.bodyParams ?? \"\";\n message.urlParams = object.urlParams ?? \"\";\n message.queryParams = object.queryParams ?? \"\";\n message.functionName = object.functionName ?? \"\";\n return message;\n },\n};\n\nfunction createBaseResponse(): Response {\n return { result: \"\", redirect: \"\", setCookies: [], removeCookies: [] };\n}\n\nexport const Response: MessageFns<Response> = {\n encode(message: Response, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.result !== \"\") {\n writer.uint32(10).string(message.result);\n }\n if (message.redirect !== \"\") {\n writer.uint32(18).string(message.redirect);\n }\n for (const v of message.setCookies) {\n Cookie.encode(v!, writer.uint32(26).fork()).join();\n }\n for (const v of message.removeCookies) {\n Cookie.encode(v!, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Response {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.result = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.redirect = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.setCookies.push(Cookie.decode(reader, reader.uint32()));\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.removeCookies.push(Cookie.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Response {\n return {\n result: isSet(object.result) ? globalThis.String(object.result) : \"\",\n redirect: isSet(object.redirect) ? globalThis.String(object.redirect) : \"\",\n setCookies: globalThis.Array.isArray(object?.setCookies)\n ? object.setCookies.map((e: any) => Cookie.fromJSON(e))\n : [],\n removeCookies: globalThis.Array.isArray(object?.removeCookies)\n ? object.removeCookies.map((e: any) => Cookie.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: Response): unknown {\n const obj: any = {};\n if (message.result !== \"\") {\n obj.result = message.result;\n }\n if (message.redirect !== \"\") {\n obj.redirect = message.redirect;\n }\n if (message.setCookies?.length) {\n obj.setCookies = message.setCookies.map((e) => Cookie.toJSON(e));\n }\n if (message.removeCookies?.length) {\n obj.removeCookies = message.removeCookies.map((e) => Cookie.toJSON(e));\n }\n return obj;\n },\n\n create(base?: DeepPartial<Response>): Response {\n return Response.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Response>): Response {\n const message = createBaseResponse();\n message.result = object.result ?? \"\";\n message.redirect = object.redirect ?? \"\";\n message.setCookies = object.setCookies?.map((e) => Cookie.fromPartial(e)) || [];\n message.removeCookies = object.removeCookies?.map((e) => Cookie.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseCookie(): Cookie {\n return { name: \"\", value: undefined, options: undefined };\n}\n\nexport const Cookie: MessageFns<Cookie> = {\n encode(message: Cookie, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.value !== undefined) {\n writer.uint32(18).string(message.value);\n }\n if (message.options !== undefined) {\n CookieOptions.encode(message.options, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Cookie {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseCookie();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.value = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.options = CookieOptions.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Cookie {\n return {\n name: isSet(object.name) ? globalThis.String(object.name) : \"\",\n value: isSet(object.value) ? globalThis.String(object.value) : undefined,\n options: isSet(object.options) ? CookieOptions.fromJSON(object.options) : undefined,\n };\n },\n\n toJSON(message: Cookie): unknown {\n const obj: any = {};\n if (message.name !== \"\") {\n obj.name = message.name;\n }\n if (message.value !== undefined) {\n obj.value = message.value;\n }\n if (message.options !== undefined) {\n obj.options = CookieOptions.toJSON(message.options);\n }\n return obj;\n },\n\n create(base?: DeepPartial<Cookie>): Cookie {\n return Cookie.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Cookie>): Cookie {\n const message = createBaseCookie();\n message.name = object.name ?? \"\";\n message.value = object.value ?? undefined;\n message.options = (object.options !== undefined && object.options !== null)\n ? CookieOptions.fromPartial(object.options)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseCookieOptions(): CookieOptions {\n return { httpOnly: false, secure: false, signed: false, maxAge: 0, path: \"\", domain: \"\", sameSite: \"\" };\n}\n\nexport const CookieOptions: MessageFns<CookieOptions> = {\n encode(message: CookieOptions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.httpOnly !== false) {\n writer.uint32(8).bool(message.httpOnly);\n }\n if (message.secure !== false) {\n writer.uint32(16).bool(message.secure);\n }\n if (message.signed !== false) {\n writer.uint32(24).bool(message.signed);\n }\n if (message.maxAge !== 0) {\n writer.uint32(32).int32(message.maxAge);\n }\n if (message.path !== \"\") {\n writer.uint32(42).string(message.path);\n }\n if (message.domain !== \"\") {\n writer.uint32(50).string(message.domain);\n }\n if (message.sameSite !== \"\") {\n writer.uint32(58).string(message.sameSite);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): CookieOptions {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseCookieOptions();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.httpOnly = reader.bool();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.secure = reader.bool();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.signed = reader.bool();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.maxAge = reader.int32();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.path = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.domain = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.sameSite = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): CookieOptions {\n return {\n httpOnly: isSet(object.httpOnly) ? globalThis.Boolean(object.httpOnly) : false,\n secure: isSet(object.secure) ? globalThis.Boolean(object.secure) : false,\n signed: isSet(object.signed) ? globalThis.Boolean(object.signed) : false,\n maxAge: isSet(object.maxAge) ? globalThis.Number(object.maxAge) : 0,\n path: isSet(object.path) ? globalThis.String(object.path) : \"\",\n domain: isSet(object.domain) ? globalThis.String(object.domain) : \"\",\n sameSite: isSet(object.sameSite) ? globalThis.String(object.sameSite) : \"\",\n };\n },\n\n toJSON(message: CookieOptions): unknown {\n const obj: any = {};\n if (message.httpOnly !== false) {\n obj.httpOnly = message.httpOnly;\n }\n if (message.secure !== false) {\n obj.secure = message.secure;\n }\n if (message.signed !== false) {\n obj.signed = message.signed;\n }\n if (message.maxAge !== 0) {\n obj.maxAge = Math.round(message.maxAge);\n }\n if (message.path !== \"\") {\n obj.path = message.path;\n }\n if (message.domain !== \"\") {\n obj.domain = message.domain;\n }\n if (message.sameSite !== \"\") {\n obj.sameSite = message.sameSite;\n }\n return obj;\n },\n\n create(base?: DeepPartial<CookieOptions>): CookieOptions {\n return CookieOptions.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<CookieOptions>): CookieOptions {\n const message = createBaseCookieOptions();\n message.httpOnly = object.httpOnly ?? false;\n message.secure = object.secure ?? false;\n message.signed = object.signed ?? false;\n message.maxAge = object.maxAge ?? 0;\n message.path = object.path ?? \"\";\n message.domain = object.domain ?? \"\";\n message.sameSite = object.sameSite ?? \"\";\n return message;\n },\n};\n\nfunction createBaseSocketRequest(): SocketRequest {\n return { event: \"\", socketId: \"\", params: \"\", context: \"\", functionName: \"\" };\n}\n\nexport const SocketRequest: MessageFns<SocketRequest> = {\n encode(message: SocketRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.event !== \"\") {\n writer.uint32(10).string(message.event);\n }\n if (message.socketId !== \"\") {\n writer.uint32(18).string(message.socketId);\n }\n if (message.params !== \"\") {\n writer.uint32(26).string(message.params);\n }\n if (message.context !== \"\") {\n writer.uint32(34).string(message.context);\n }\n if (message.functionName !== \"\") {\n writer.uint32(42).string(message.functionName);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SocketRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSocketRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.event = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.socketId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.params = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.context = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.functionName = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SocketRequest {\n return {\n event: isSet(object.event) ? globalThis.String(object.event) : \"\",\n socketId: isSet(object.socketId) ? globalThis.String(object.socketId) : \"\",\n params: isSet(object.params) ? globalThis.String(object.params) : \"\",\n context: isSet(object.context) ? globalThis.String(object.context) : \"\",\n functionName: isSet(object.functionName) ? globalThis.String(object.functionName) : \"\",\n };\n },\n\n toJSON(message: SocketRequest): unknown {\n const obj: any = {};\n if (message.event !== \"\") {\n obj.event = message.event;\n }\n if (message.socketId !== \"\") {\n obj.socketId = message.socketId;\n }\n if (message.params !== \"\") {\n obj.params = message.params;\n }\n if (message.context !== \"\") {\n obj.context = message.context;\n }\n if (message.functionName !== \"\") {\n obj.functionName = message.functionName;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SocketRequest>): SocketRequest {\n return SocketRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SocketRequest>): SocketRequest {\n const message = createBaseSocketRequest();\n message.event = object.event ?? \"\";\n message.socketId = object.socketId ?? \"\";\n message.params = object.params ?? \"\";\n message.context = object.context ?? \"\";\n message.functionName = object.functionName ?? \"\";\n return message;\n },\n};\n\nfunction createBaseSocketResponse(): SocketResponse {\n return { event: \"\", data: \"\", receivers: [], rooms: [] };\n}\n\nexport const SocketResponse: MessageFns<SocketResponse> = {\n encode(message: SocketResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.event !== \"\") {\n writer.uint32(10).string(message.event);\n }\n if (message.data !== \"\") {\n writer.uint32(18).string(message.data);\n }\n for (const v of message.receivers) {\n writer.uint32(26).string(v!);\n }\n for (const v of message.rooms) {\n writer.uint32(34).string(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SocketResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSocketResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.event = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.data = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.receivers.push(reader.string());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.rooms.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SocketResponse {\n return {\n event: isSet(object.event) ? globalThis.String(object.event) : \"\",\n data: isSet(object.data) ? globalThis.String(object.data) : \"\",\n receivers: globalThis.Array.isArray(object?.receivers)\n ? object.receivers.map((e: any) => globalThis.String(e))\n : [],\n rooms: globalThis.Array.isArray(object?.rooms) ? object.rooms.map((e: any) => globalThis.String(e)) : [],\n };\n },\n\n toJSON(message: SocketResponse): unknown {\n const obj: any = {};\n if (message.event !== \"\") {\n obj.event = message.event;\n }\n if (message.data !== \"\") {\n obj.data = message.data;\n }\n if (message.receivers?.length) {\n obj.receivers = message.receivers;\n }\n if (message.rooms?.length) {\n obj.rooms = message.rooms;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SocketResponse>): SocketResponse {\n return SocketResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SocketResponse>): SocketResponse {\n const message = createBaseSocketResponse();\n message.event = object.event ?? \"\";\n message.data = object.data ?? \"\";\n message.receivers = object.receivers?.map((e) => e) || [];\n message.rooms = object.rooms?.map((e) => e) || [];\n return message;\n },\n};\n\nexport type ConduitModuleDefinition = typeof ConduitModuleDefinition;\nexport const ConduitModuleDefinition = {\n name: \"ConduitModule\",\n fullName: \"conduit.module.v1.ConduitModule\",\n methods: {\n setConfig: {\n name: \"SetConfig\",\n requestType: SetConfigRequest as typeof SetConfigRequest,\n requestStream: false,\n responseType: SetConfigResponse as typeof SetConfigResponse,\n responseStream: false,\n options: {},\n },\n getExportableResources: {\n name: \"GetExportableResources\",\n requestType: GetExportableResourcesRequest as typeof GetExportableResourcesRequest,\n requestStream: false,\n responseType: GetExportableResourcesResponse as typeof GetExportableResourcesResponse,\n responseStream: false,\n options: {},\n },\n exportResources: {\n name: \"ExportResources\",\n requestType: ExportResourcesRequest as typeof ExportResourcesRequest,\n requestStream: false,\n responseType: ExportResourcesResponse as typeof ExportResourcesResponse,\n responseStream: false,\n options: {},\n },\n importResources: {\n name: \"ImportResources\",\n requestType: ImportResourcesRequest as typeof ImportResourcesRequest,\n requestStream: false,\n responseType: ImportResourcesResponse as typeof ImportResourcesResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\nexport type ClientRouterDefinition = typeof ClientRouterDefinition;\nexport const ClientRouterDefinition = {\n name: \"ClientRouter\",\n fullName: \"conduit.module.v1.ClientRouter\",\n methods: {\n route: {\n name: \"Route\",\n requestType: Request as typeof Request,\n requestStream: false,\n responseType: Response as typeof Response,\n responseStream: false,\n options: {},\n },\n socketRoute: {\n name: \"SocketRoute\",\n requestType: SocketRequest as typeof SocketRequest,\n requestStream: false,\n responseType: SocketResponse as typeof SocketResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\nexport type AdminRouterDefinition = typeof AdminRouterDefinition;\nexport const AdminRouterDefinition = {\n name: \"AdminRouter\",\n fullName: \"conduit.module.v1.AdminRouter\",\n methods: {\n route: {\n name: \"Route\",\n requestType: Request as typeof Request,\n requestStream: false,\n responseType: Response as typeof Response,\n responseStream: false,\n options: {},\n },\n socketRoute: {\n name: \"SocketRoute\",\n requestType: SocketRequest as typeof SocketRequest,\n requestStream: false,\n responseType: SocketResponse as typeof SocketResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.6\n// protoc v5.29.6\n// source: router.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport { Empty } from \"./google/protobuf/empty.js\";\n\nexport interface SocketData {\n event: string;\n data?: string | undefined;\n receivers: string[];\n rooms: string[];\n}\n\nexport interface PatchAppRouteMiddlewaresRequest {\n path: string;\n action: string;\n middlewares: string[];\n}\n\nexport interface RegisterConduitRouteRequest {\n routes: RegisterConduitRouteRequest_PathDefinition[];\n routerUrl?: string | undefined;\n}\n\nexport interface RegisterConduitRouteRequest_PathDefinition {\n options: RegisterConduitRouteRequest_ConduitRouteOptions | undefined;\n returns?: RegisterConduitRouteRequest_ConduitRouteReturnDefinition | undefined;\n grpcFunction?: string | undefined;\n isMiddleware?: boolean | undefined;\n events?: string | undefined;\n}\n\nexport interface RegisterConduitRouteRequest_ErrorDefinition {\n conduitCode: string;\n grpcCode: number;\n message: string;\n description: string;\n}\n\nexport interface RegisterConduitRouteRequest_ConduitRouteOptions {\n queryParams?: string | undefined;\n bodyParams?: string | undefined;\n urlParams?: string | undefined;\n action?: string | undefined;\n path: string;\n name?: string | undefined;\n description?: string | undefined;\n middlewares: string[];\n cacheControl?: string | undefined;\n errors: RegisterConduitRouteRequest_ErrorDefinition[];\n mcp?: boolean | undefined;\n strictParams?: boolean | undefined;\n rateLimit?: string | undefined;\n}\n\nexport interface RegisterConduitRouteRequest_ConduitRouteReturnDefinition {\n name: string;\n fields: string;\n}\n\nfunction createBaseSocketData(): SocketData {\n return { event: \"\", data: undefined, receivers: [], rooms: [] };\n}\n\nexport const SocketData: MessageFns<SocketData> = {\n encode(message: SocketData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.event !== \"\") {\n writer.uint32(10).string(message.event);\n }\n if (message.data !== undefined) {\n writer.uint32(18).string(message.data);\n }\n for (const v of message.receivers) {\n writer.uint32(26).string(v!);\n }\n for (const v of message.rooms) {\n writer.uint32(34).string(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): SocketData {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSocketData();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.event = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.data = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.receivers.push(reader.string());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.rooms.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): SocketData {\n return {\n event: isSet(object.event) ? globalThis.String(object.event) : \"\",\n data: isSet(object.data) ? globalThis.String(object.data) : undefined,\n receivers: globalThis.Array.isArray(object?.receivers)\n ? object.receivers.map((e: any) => globalThis.String(e))\n : [],\n rooms: globalThis.Array.isArray(object?.rooms) ? object.rooms.map((e: any) => globalThis.String(e)) : [],\n };\n },\n\n toJSON(message: SocketData): unknown {\n const obj: any = {};\n if (message.event !== \"\") {\n obj.event = message.event;\n }\n if (message.data !== undefined) {\n obj.data = message.data;\n }\n if (message.receivers?.length) {\n obj.receivers = message.receivers;\n }\n if (message.rooms?.length) {\n obj.rooms = message.rooms;\n }\n return obj;\n },\n\n create(base?: DeepPartial<SocketData>): SocketData {\n return SocketData.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<SocketData>): SocketData {\n const message = createBaseSocketData();\n message.event = object.event ?? \"\";\n message.data = object.data ?? undefined;\n message.receivers = object.receivers?.map((e) => e) || [];\n message.rooms = object.rooms?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBasePatchAppRouteMiddlewaresRequest(): PatchAppRouteMiddlewaresRequest {\n return { path: \"\", action: \"\", middlewares: [] };\n}\n\nexport const PatchAppRouteMiddlewaresRequest: MessageFns<PatchAppRouteMiddlewaresRequest> = {\n encode(message: PatchAppRouteMiddlewaresRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.path !== \"\") {\n writer.uint32(10).string(message.path);\n }\n if (message.action !== \"\") {\n writer.uint32(18).string(message.action);\n }\n for (const v of message.middlewares) {\n writer.uint32(26).string(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): PatchAppRouteMiddlewaresRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBasePatchAppRouteMiddlewaresRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.path = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.action = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.middlewares.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): PatchAppRouteMiddlewaresRequest {\n return {\n path: isSet(object.path) ? globalThis.String(object.path) : \"\",\n action: isSet(object.action) ? globalThis.String(object.action) : \"\",\n middlewares: globalThis.Array.isArray(object?.middlewares)\n ? object.middlewares.map((e: any) => globalThis.String(e))\n : [],\n };\n },\n\n toJSON(message: PatchAppRouteMiddlewaresRequest): unknown {\n const obj: any = {};\n if (message.path !== \"\") {\n obj.path = message.path;\n }\n if (message.action !== \"\") {\n obj.action = message.action;\n }\n if (message.middlewares?.length) {\n obj.middlewares = message.middlewares;\n }\n return obj;\n },\n\n create(base?: DeepPartial<PatchAppRouteMiddlewaresRequest>): PatchAppRouteMiddlewaresRequest {\n return PatchAppRouteMiddlewaresRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<PatchAppRouteMiddlewaresRequest>): PatchAppRouteMiddlewaresRequest {\n const message = createBasePatchAppRouteMiddlewaresRequest();\n message.path = object.path ?? \"\";\n message.action = object.action ?? \"\";\n message.middlewares = object.middlewares?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseRegisterConduitRouteRequest(): RegisterConduitRouteRequest {\n return { routes: [], routerUrl: undefined };\n}\n\nexport const RegisterConduitRouteRequest: MessageFns<RegisterConduitRouteRequest> = {\n encode(message: RegisterConduitRouteRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.routes) {\n RegisterConduitRouteRequest_PathDefinition.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.routerUrl !== undefined) {\n writer.uint32(26).string(message.routerUrl);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisterConduitRouteRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterConduitRouteRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.routes.push(RegisterConduitRouteRequest_PathDefinition.decode(reader, reader.uint32()));\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.routerUrl = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterConduitRouteRequest {\n return {\n routes: globalThis.Array.isArray(object?.routes)\n ? object.routes.map((e: any) => RegisterConduitRouteRequest_PathDefinition.fromJSON(e))\n : [],\n routerUrl: isSet(object.routerUrl) ? globalThis.String(object.routerUrl) : undefined,\n };\n },\n\n toJSON(message: RegisterConduitRouteRequest): unknown {\n const obj: any = {};\n if (message.routes?.length) {\n obj.routes = message.routes.map((e) => RegisterConduitRouteRequest_PathDefinition.toJSON(e));\n }\n if (message.routerUrl !== undefined) {\n obj.routerUrl = message.routerUrl;\n }\n return obj;\n },\n\n create(base?: DeepPartial<RegisterConduitRouteRequest>): RegisterConduitRouteRequest {\n return RegisterConduitRouteRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<RegisterConduitRouteRequest>): RegisterConduitRouteRequest {\n const message = createBaseRegisterConduitRouteRequest();\n message.routes = object.routes?.map((e) => RegisterConduitRouteRequest_PathDefinition.fromPartial(e)) || [];\n message.routerUrl = object.routerUrl ?? undefined;\n return message;\n },\n};\n\nfunction createBaseRegisterConduitRouteRequest_PathDefinition(): RegisterConduitRouteRequest_PathDefinition {\n return {\n options: undefined,\n returns: undefined,\n grpcFunction: undefined,\n isMiddleware: undefined,\n events: undefined,\n };\n}\n\nexport const RegisterConduitRouteRequest_PathDefinition: MessageFns<RegisterConduitRouteRequest_PathDefinition> = {\n encode(message: RegisterConduitRouteRequest_PathDefinition, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.options !== undefined) {\n RegisterConduitRouteRequest_ConduitRouteOptions.encode(message.options, writer.uint32(10).fork()).join();\n }\n if (message.returns !== undefined) {\n RegisterConduitRouteRequest_ConduitRouteReturnDefinition.encode(message.returns, writer.uint32(18).fork()).join();\n }\n if (message.grpcFunction !== undefined) {\n writer.uint32(26).string(message.grpcFunction);\n }\n if (message.isMiddleware !== undefined) {\n writer.uint32(32).bool(message.isMiddleware);\n }\n if (message.events !== undefined) {\n writer.uint32(42).string(message.events);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisterConduitRouteRequest_PathDefinition {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterConduitRouteRequest_PathDefinition();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.options = RegisterConduitRouteRequest_ConduitRouteOptions.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.returns = RegisterConduitRouteRequest_ConduitRouteReturnDefinition.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.grpcFunction = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.isMiddleware = reader.bool();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.events = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterConduitRouteRequest_PathDefinition {\n return {\n options: isSet(object.options)\n ? RegisterConduitRouteRequest_ConduitRouteOptions.fromJSON(object.options)\n : undefined,\n returns: isSet(object.returns)\n ? RegisterConduitRouteRequest_ConduitRouteReturnDefinition.fromJSON(object.returns)\n : undefined,\n grpcFunction: isSet(object.grpcFunction) ? globalThis.String(object.grpcFunction) : undefined,\n isMiddleware: isSet(object.isMiddleware) ? globalThis.Boolean(object.isMiddleware) : undefined,\n events: isSet(object.events) ? globalThis.String(object.events) : undefined,\n };\n },\n\n toJSON(message: RegisterConduitRouteRequest_PathDefinition): unknown {\n const obj: any = {};\n if (message.options !== undefined) {\n obj.options = RegisterConduitRouteRequest_ConduitRouteOptions.toJSON(message.options);\n }\n if (message.returns !== undefined) {\n obj.returns = RegisterConduitRouteRequest_ConduitRouteReturnDefinition.toJSON(message.returns);\n }\n if (message.grpcFunction !== undefined) {\n obj.grpcFunction = message.grpcFunction;\n }\n if (message.isMiddleware !== undefined) {\n obj.isMiddleware = message.isMiddleware;\n }\n if (message.events !== undefined) {\n obj.events = message.events;\n }\n return obj;\n },\n\n create(base?: DeepPartial<RegisterConduitRouteRequest_PathDefinition>): RegisterConduitRouteRequest_PathDefinition {\n return RegisterConduitRouteRequest_PathDefinition.fromPartial(base ?? {});\n },\n fromPartial(\n object: DeepPartial<RegisterConduitRouteRequest_PathDefinition>,\n ): RegisterConduitRouteRequest_PathDefinition {\n const message = createBaseRegisterConduitRouteRequest_PathDefinition();\n message.options = (object.options !== undefined && object.options !== null)\n ? RegisterConduitRouteRequest_ConduitRouteOptions.fromPartial(object.options)\n : undefined;\n message.returns = (object.returns !== undefined && object.returns !== null)\n ? RegisterConduitRouteRequest_ConduitRouteReturnDefinition.fromPartial(object.returns)\n : undefined;\n message.grpcFunction = object.grpcFunction ?? undefined;\n message.isMiddleware = object.isMiddleware ?? undefined;\n message.events = object.events ?? undefined;\n return message;\n },\n};\n\nfunction createBaseRegisterConduitRouteRequest_ErrorDefinition(): RegisterConduitRouteRequest_ErrorDefinition {\n return { conduitCode: \"\", grpcCode: 0, message: \"\", description: \"\" };\n}\n\nexport const RegisterConduitRouteRequest_ErrorDefinition: MessageFns<RegisterConduitRouteRequest_ErrorDefinition> = {\n encode(\n message: RegisterConduitRouteRequest_ErrorDefinition,\n writer: BinaryWriter = new BinaryWriter(),\n ): BinaryWriter {\n if (message.conduitCode !== \"\") {\n writer.uint32(10).string(message.conduitCode);\n }\n if (message.grpcCode !== 0) {\n writer.uint32(16).int32(message.grpcCode);\n }\n if (message.message !== \"\") {\n writer.uint32(26).string(message.message);\n }\n if (message.description !== \"\") {\n writer.uint32(34).string(message.description);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisterConduitRouteRequest_ErrorDefinition {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterConduitRouteRequest_ErrorDefinition();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.conduitCode = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.grpcCode = reader.int32();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.message = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.description = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterConduitRouteRequest_ErrorDefinition {\n return {\n conduitCode: isSet(object.conduitCode) ? globalThis.String(object.conduitCode) : \"\",\n grpcCode: isSet(object.grpcCode) ? globalThis.Number(object.grpcCode) : 0,\n message: isSet(object.message) ? globalThis.String(object.message) : \"\",\n description: isSet(object.description) ? globalThis.String(object.description) : \"\",\n };\n },\n\n toJSON(message: RegisterConduitRouteRequest_ErrorDefinition): unknown {\n const obj: any = {};\n if (message.conduitCode !== \"\") {\n obj.conduitCode = message.conduitCode;\n }\n if (message.grpcCode !== 0) {\n obj.grpcCode = Math.round(message.grpcCode);\n }\n if (message.message !== \"\") {\n obj.message = message.message;\n }\n if (message.description !== \"\") {\n obj.description = message.description;\n }\n return obj;\n },\n\n create(base?: DeepPartial<RegisterConduitRouteRequest_ErrorDefinition>): RegisterConduitRouteRequest_ErrorDefinition {\n return RegisterConduitRouteRequest_ErrorDefinition.fromPartial(base ?? {});\n },\n fromPartial(\n object: DeepPartial<RegisterConduitRouteRequest_ErrorDefinition>,\n ): RegisterConduitRouteRequest_ErrorDefinition {\n const message = createBaseRegisterConduitRouteRequest_ErrorDefinition();\n message.conduitCode = object.conduitCode ?? \"\";\n message.grpcCode = object.grpcCode ?? 0;\n message.message = object.message ?? \"\";\n message.description = object.description ?? \"\";\n return message;\n },\n};\n\nfunction createBaseRegisterConduitRouteRequest_ConduitRouteOptions(): RegisterConduitRouteRequest_ConduitRouteOptions {\n return {\n queryParams: undefined,\n bodyParams: undefined,\n urlParams: undefined,\n action: undefined,\n path: \"\",\n name: undefined,\n description: undefined,\n middlewares: [],\n cacheControl: undefined,\n errors: [],\n mcp: undefined,\n strictParams: undefined,\n rateLimit: undefined,\n };\n}\n\nexport const RegisterConduitRouteRequest_ConduitRouteOptions: MessageFns<\n RegisterConduitRouteRequest_ConduitRouteOptions\n> = {\n encode(\n message: RegisterConduitRouteRequest_ConduitRouteOptions,\n writer: BinaryWriter = new BinaryWriter(),\n ): BinaryWriter {\n if (message.queryParams !== undefined) {\n writer.uint32(10).string(message.queryParams);\n }\n if (message.bodyParams !== undefined) {\n writer.uint32(18).string(message.bodyParams);\n }\n if (message.urlParams !== undefined) {\n writer.uint32(26).string(message.urlParams);\n }\n if (message.action !== undefined) {\n writer.uint32(34).string(message.action);\n }\n if (message.path !== \"\") {\n writer.uint32(42).string(message.path);\n }\n if (message.name !== undefined) {\n writer.uint32(50).string(message.name);\n }\n if (message.description !== undefined) {\n writer.uint32(58).string(message.description);\n }\n for (const v of message.middlewares) {\n writer.uint32(66).string(v!);\n }\n if (message.cacheControl !== undefined) {\n writer.uint32(74).string(message.cacheControl);\n }\n for (const v of message.errors) {\n RegisterConduitRouteRequest_ErrorDefinition.encode(v!, writer.uint32(82).fork()).join();\n }\n if (message.mcp !== undefined) {\n writer.uint32(88).bool(message.mcp);\n }\n if (message.strictParams !== undefined) {\n writer.uint32(96).bool(message.strictParams);\n }\n if (message.rateLimit !== undefined) {\n writer.uint32(106).string(message.rateLimit);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisterConduitRouteRequest_ConduitRouteOptions {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterConduitRouteRequest_ConduitRouteOptions();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.queryParams = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.bodyParams = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.urlParams = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.action = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.path = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.description = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.middlewares.push(reader.string());\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.cacheControl = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.errors.push(RegisterConduitRouteRequest_ErrorDefinition.decode(reader, reader.uint32()));\n continue;\n }\n case 11: {\n if (tag !== 88) {\n break;\n }\n\n message.mcp = reader.bool();\n continue;\n }\n case 12: {\n if (tag !== 96) {\n break;\n }\n\n message.strictParams = reader.bool();\n continue;\n }\n case 13: {\n if (tag !== 106) {\n break;\n }\n\n message.rateLimit = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterConduitRouteRequest_ConduitRouteOptions {\n return {\n queryParams: isSet(object.queryParams) ? globalThis.String(object.queryParams) : undefined,\n bodyParams: isSet(object.bodyParams) ? globalThis.String(object.bodyParams) : undefined,\n urlParams: isSet(object.urlParams) ? globalThis.String(object.urlParams) : undefined,\n action: isSet(object.action) ? globalThis.String(object.action) : undefined,\n path: isSet(object.path) ? globalThis.String(object.path) : \"\",\n name: isSet(object.name) ? globalThis.String(object.name) : undefined,\n description: isSet(object.description) ? globalThis.String(object.description) : undefined,\n middlewares: globalThis.Array.isArray(object?.middlewares)\n ? object.middlewares.map((e: any) => globalThis.String(e))\n : [],\n cacheControl: isSet(object.cacheControl) ? globalThis.String(object.cacheControl) : undefined,\n errors: globalThis.Array.isArray(object?.errors)\n ? object.errors.map((e: any) => RegisterConduitRouteRequest_ErrorDefinition.fromJSON(e))\n : [],\n mcp: isSet(object.mcp) ? globalThis.Boolean(object.mcp) : undefined,\n strictParams: isSet(object.strictParams) ? globalThis.Boolean(object.strictParams) : undefined,\n rateLimit: isSet(object.rateLimit) ? globalThis.String(object.rateLimit) : undefined,\n };\n },\n\n toJSON(message: RegisterConduitRouteRequest_ConduitRouteOptions): unknown {\n const obj: any = {};\n if (message.queryParams !== undefined) {\n obj.queryParams = message.queryParams;\n }\n if (message.bodyParams !== undefined) {\n obj.bodyParams = message.bodyParams;\n }\n if (message.urlParams !== undefined) {\n obj.urlParams = message.urlParams;\n }\n if (message.action !== undefined) {\n obj.action = message.action;\n }\n if (message.path !== \"\") {\n obj.path = message.path;\n }\n if (message.name !== undefined) {\n obj.name = message.name;\n }\n if (message.description !== undefined) {\n obj.description = message.description;\n }\n if (message.middlewares?.length) {\n obj.middlewares = message.middlewares;\n }\n if (message.cacheControl !== undefined) {\n obj.cacheControl = message.cacheControl;\n }\n if (message.errors?.length) {\n obj.errors = message.errors.map((e) => RegisterConduitRouteRequest_ErrorDefinition.toJSON(e));\n }\n if (message.mcp !== undefined) {\n obj.mcp = message.mcp;\n }\n if (message.strictParams !== undefined) {\n obj.strictParams = message.strictParams;\n }\n if (message.rateLimit !== undefined) {\n obj.rateLimit = message.rateLimit;\n }\n return obj;\n },\n\n create(\n base?: DeepPartial<RegisterConduitRouteRequest_ConduitRouteOptions>,\n ): RegisterConduitRouteRequest_ConduitRouteOptions {\n return RegisterConduitRouteRequest_ConduitRouteOptions.fromPartial(base ?? {});\n },\n fromPartial(\n object: DeepPartial<RegisterConduitRouteRequest_ConduitRouteOptions>,\n ): RegisterConduitRouteRequest_ConduitRouteOptions {\n const message = createBaseRegisterConduitRouteRequest_ConduitRouteOptions();\n message.queryParams = object.queryParams ?? undefined;\n message.bodyParams = object.bodyParams ?? undefined;\n message.urlParams = object.urlParams ?? undefined;\n message.action = object.action ?? undefined;\n message.path = object.path ?? \"\";\n message.name = object.name ?? undefined;\n message.description = object.description ?? undefined;\n message.middlewares = object.middlewares?.map((e) => e) || [];\n message.cacheControl = object.cacheControl ?? undefined;\n message.errors = object.errors?.map((e) => RegisterConduitRouteRequest_ErrorDefinition.fromPartial(e)) || [];\n message.mcp = object.mcp ?? undefined;\n message.strictParams = object.strictParams ?? undefined;\n message.rateLimit = object.rateLimit ?? undefined;\n return message;\n },\n};\n\nfunction createBaseRegisterConduitRouteRequest_ConduitRouteReturnDefinition(): RegisterConduitRouteRequest_ConduitRouteReturnDefinition {\n return { name: \"\", fields: \"\" };\n}\n\nexport const RegisterConduitRouteRequest_ConduitRouteReturnDefinition: MessageFns<\n RegisterConduitRouteRequest_ConduitRouteReturnDefinition\n> = {\n encode(\n message: RegisterConduitRouteRequest_ConduitRouteReturnDefinition,\n writer: BinaryWriter = new BinaryWriter(),\n ): BinaryWriter {\n if (message.name !== \"\") {\n writer.uint32(10).string(message.name);\n }\n if (message.fields !== \"\") {\n writer.uint32(18).string(message.fields);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisterConduitRouteRequest_ConduitRouteReturnDefinition {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisterConduitRouteRequest_ConduitRouteReturnDefinition();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.fields = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisterConduitRouteRequest_ConduitRouteReturnDefinition {\n return {\n name: isSet(object.name) ? globalThis.String(object.name) : \"\",\n fields: isSet(object.fields) ? globalThis.String(object.fields) : \"\",\n };\n },\n\n toJSON(message: RegisterConduitRouteRequest_ConduitRouteReturnDefinition): unknown {\n const obj: any = {};\n if (message.name !== \"\") {\n obj.name = message.name;\n }\n if (message.fields !== \"\") {\n obj.fields = message.fields;\n }\n return obj;\n },\n\n create(\n base?: DeepPartial<RegisterConduitRouteRequest_ConduitRouteReturnDefinition>,\n ): RegisterConduitRouteRequest_ConduitRouteReturnDefinition {\n return RegisterConduitRouteRequest_ConduitRouteReturnDefinition.fromPartial(base ?? {});\n },\n fromPartial(\n object: DeepPartial<RegisterConduitRouteRequest_ConduitRouteReturnDefinition>,\n ): RegisterConduitRouteRequest_ConduitRouteReturnDefinition {\n const message = createBaseRegisterConduitRouteRequest_ConduitRouteReturnDefinition();\n message.name = object.name ?? \"\";\n message.fields = object.fields ?? \"\";\n return message;\n },\n};\n\nexport type RouterDefinition = typeof RouterDefinition;\nexport const RouterDefinition = {\n name: \"Router\",\n fullName: \"router.Router\",\n methods: {\n registerConduitRoute: {\n name: \"RegisterConduitRoute\",\n requestType: RegisterConduitRouteRequest as typeof RegisterConduitRouteRequest,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n socketPush: {\n name: \"SocketPush\",\n requestType: SocketData as typeof SocketData,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n patchRouteMiddlewares: {\n name: \"PatchRouteMiddlewares\",\n requestType: PatchAppRouteMiddlewaresRequest as typeof PatchAppRouteMiddlewaresRequest,\n requestStream: false,\n responseType: Empty as typeof Empty,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.6\n// protoc v5.29.6\n// source: storage.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\n\nexport interface GetFileRequest {\n id: string;\n userId?: string | undefined;\n scope?: string | undefined;\n}\n\nexport interface GetFileUrlRequest {\n id: string;\n userId?: string | undefined;\n scope?: string | undefined;\n download?: boolean | undefined;\n}\n\nexport interface GetFileUrlResponse {\n url: string;\n}\n\nexport interface CreateFileRequest {\n name?: string | undefined;\n data: string;\n isPublic: boolean;\n folder?: string | undefined;\n container?: string | undefined;\n mimeType?: string | undefined;\n userId?: string | undefined;\n scope?: string | undefined;\n alias?: string | undefined;\n}\n\nexport interface UpdateFileRequest {\n id: string;\n data: string;\n name?: string | undefined;\n folder?: string | undefined;\n container?: string | undefined;\n mimeType?: string | undefined;\n userId?: string | undefined;\n scope?: string | undefined;\n alias?: string | undefined;\n}\n\nexport interface FileResponse {\n id: string;\n url: string;\n name: string;\n}\n\nexport interface GetFileDataResponse {\n data: string;\n}\n\nexport interface DeleteFileResponse {\n success: boolean;\n}\n\nexport interface CreateFileByUrlRequest {\n name?: string | undefined;\n isPublic: boolean;\n folder?: string | undefined;\n container?: string | undefined;\n mimeType?:\n | string\n | undefined;\n /** todo: support int64 */\n size?: number | undefined;\n userId?: string | undefined;\n scope?: string | undefined;\n alias?: string | undefined;\n}\n\nexport interface FileByUrlResponse {\n id: string;\n fileUrl: string;\n name: string;\n uploadUrl: string;\n}\n\nexport interface UpdateFileByUrlRequest {\n id: string;\n name?: string | undefined;\n folder?: string | undefined;\n container?: string | undefined;\n mimeType?:\n | string\n | undefined;\n /** todo: support int64 */\n size?: number | undefined;\n userId?: string | undefined;\n scope?: string | undefined;\n alias?: string | undefined;\n}\n\nfunction createBaseGetFileRequest(): GetFileRequest {\n return { id: \"\", userId: undefined, scope: undefined };\n}\n\nexport const GetFileRequest: MessageFns<GetFileRequest> = {\n encode(message: GetFileRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.id !== \"\") {\n writer.uint32(10).string(message.id);\n }\n if (message.userId !== undefined) {\n writer.uint32(18).string(message.userId);\n }\n if (message.scope !== undefined) {\n writer.uint32(26).string(message.scope);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetFileRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetFileRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.userId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.scope = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetFileRequest {\n return {\n id: isSet(object.id) ? globalThis.String(object.id) : \"\",\n userId: isSet(object.userId) ? globalThis.String(object.userId) : undefined,\n scope: isSet(object.scope) ? globalThis.String(object.scope) : undefined,\n };\n },\n\n toJSON(message: GetFileRequest): unknown {\n const obj: any = {};\n if (message.id !== \"\") {\n obj.id = message.id;\n }\n if (message.userId !== undefined) {\n obj.userId = message.userId;\n }\n if (message.scope !== undefined) {\n obj.scope = message.scope;\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetFileRequest>): GetFileRequest {\n return GetFileRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetFileRequest>): GetFileRequest {\n const message = createBaseGetFileRequest();\n message.id = object.id ?? \"\";\n message.userId = object.userId ?? undefined;\n message.scope = object.scope ?? undefined;\n return message;\n },\n};\n\nfunction createBaseGetFileUrlRequest(): GetFileUrlRequest {\n return { id: \"\", userId: undefined, scope: undefined, download: undefined };\n}\n\nexport const GetFileUrlRequest: MessageFns<GetFileUrlRequest> = {\n encode(message: GetFileUrlRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.id !== \"\") {\n writer.uint32(10).string(message.id);\n }\n if (message.userId !== undefined) {\n writer.uint32(18).string(message.userId);\n }\n if (message.scope !== undefined) {\n writer.uint32(26).string(message.scope);\n }\n if (message.download !== undefined) {\n writer.uint32(32).bool(message.download);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetFileUrlRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetFileUrlRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.userId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.scope = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.download = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetFileUrlRequest {\n return {\n id: isSet(object.id) ? globalThis.String(object.id) : \"\",\n userId: isSet(object.userId) ? globalThis.String(object.userId) : undefined,\n scope: isSet(object.scope) ? globalThis.String(object.scope) : undefined,\n download: isSet(object.download) ? globalThis.Boolean(object.download) : undefined,\n };\n },\n\n toJSON(message: GetFileUrlRequest): unknown {\n const obj: any = {};\n if (message.id !== \"\") {\n obj.id = message.id;\n }\n if (message.userId !== undefined) {\n obj.userId = message.userId;\n }\n if (message.scope !== undefined) {\n obj.scope = message.scope;\n }\n if (message.download !== undefined) {\n obj.download = message.download;\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetFileUrlRequest>): GetFileUrlRequest {\n return GetFileUrlRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetFileUrlRequest>): GetFileUrlRequest {\n const message = createBaseGetFileUrlRequest();\n message.id = object.id ?? \"\";\n message.userId = object.userId ?? undefined;\n message.scope = object.scope ?? undefined;\n message.download = object.download ?? undefined;\n return message;\n },\n};\n\nfunction createBaseGetFileUrlResponse(): GetFileUrlResponse {\n return { url: \"\" };\n}\n\nexport const GetFileUrlResponse: MessageFns<GetFileUrlResponse> = {\n encode(message: GetFileUrlResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.url !== \"\") {\n writer.uint32(10).string(message.url);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetFileUrlResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetFileUrlResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.url = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetFileUrlResponse {\n return { url: isSet(object.url) ? globalThis.String(object.url) : \"\" };\n },\n\n toJSON(message: GetFileUrlResponse): unknown {\n const obj: any = {};\n if (message.url !== \"\") {\n obj.url = message.url;\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetFileUrlResponse>): GetFileUrlResponse {\n return GetFileUrlResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetFileUrlResponse>): GetFileUrlResponse {\n const message = createBaseGetFileUrlResponse();\n message.url = object.url ?? \"\";\n return message;\n },\n};\n\nfunction createBaseCreateFileRequest(): CreateFileRequest {\n return {\n name: undefined,\n data: \"\",\n isPublic: false,\n folder: undefined,\n container: undefined,\n mimeType: undefined,\n userId: undefined,\n scope: undefined,\n alias: undefined,\n };\n}\n\nexport const CreateFileRequest: MessageFns<CreateFileRequest> = {\n encode(message: CreateFileRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.name !== undefined) {\n writer.uint32(10).string(message.name);\n }\n if (message.data !== \"\") {\n writer.uint32(18).string(message.data);\n }\n if (message.isPublic !== false) {\n writer.uint32(24).bool(message.isPublic);\n }\n if (message.folder !== undefined) {\n writer.uint32(34).string(message.folder);\n }\n if (message.container !== undefined) {\n writer.uint32(42).string(message.container);\n }\n if (message.mimeType !== undefined) {\n writer.uint32(50).string(message.mimeType);\n }\n if (message.userId !== undefined) {\n writer.uint32(58).string(message.userId);\n }\n if (message.scope !== undefined) {\n writer.uint32(66).string(message.scope);\n }\n if (message.alias !== undefined) {\n writer.uint32(74).string(message.alias);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): CreateFileRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseCreateFileRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.data = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.isPublic = reader.bool();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.folder = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.container = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.mimeType = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.userId = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.scope = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.alias = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): CreateFileRequest {\n return {\n name: isSet(object.name) ? globalThis.String(object.name) : undefined,\n data: isSet(object.data) ? globalThis.String(object.data) : \"\",\n isPublic: isSet(object.isPublic) ? globalThis.Boolean(object.isPublic) : false,\n folder: isSet(object.folder) ? globalThis.String(object.folder) : undefined,\n container: isSet(object.container) ? globalThis.String(object.container) : undefined,\n mimeType: isSet(object.mimeType) ? globalThis.String(object.mimeType) : undefined,\n userId: isSet(object.userId) ? globalThis.String(object.userId) : undefined,\n scope: isSet(object.scope) ? globalThis.String(object.scope) : undefined,\n alias: isSet(object.alias) ? globalThis.String(object.alias) : undefined,\n };\n },\n\n toJSON(message: CreateFileRequest): unknown {\n const obj: any = {};\n if (message.name !== undefined) {\n obj.name = message.name;\n }\n if (message.data !== \"\") {\n obj.data = message.data;\n }\n if (message.isPublic !== false) {\n obj.isPublic = message.isPublic;\n }\n if (message.folder !== undefined) {\n obj.folder = message.folder;\n }\n if (message.container !== undefined) {\n obj.container = message.container;\n }\n if (message.mimeType !== undefined) {\n obj.mimeType = message.mimeType;\n }\n if (message.userId !== undefined) {\n obj.userId = message.userId;\n }\n if (message.scope !== undefined) {\n obj.scope = message.scope;\n }\n if (message.alias !== undefined) {\n obj.alias = message.alias;\n }\n return obj;\n },\n\n create(base?: DeepPartial<CreateFileRequest>): CreateFileRequest {\n return CreateFileRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<CreateFileRequest>): CreateFileRequest {\n const message = createBaseCreateFileRequest();\n message.name = object.name ?? undefined;\n message.data = object.data ?? \"\";\n message.isPublic = object.isPublic ?? false;\n message.folder = object.folder ?? undefined;\n message.container = object.container ?? undefined;\n message.mimeType = object.mimeType ?? undefined;\n message.userId = object.userId ?? undefined;\n message.scope = object.scope ?? undefined;\n message.alias = object.alias ?? undefined;\n return message;\n },\n};\n\nfunction createBaseUpdateFileRequest(): UpdateFileRequest {\n return {\n id: \"\",\n data: \"\",\n name: undefined,\n folder: undefined,\n container: undefined,\n mimeType: undefined,\n userId: undefined,\n scope: undefined,\n alias: undefined,\n };\n}\n\nexport const UpdateFileRequest: MessageFns<UpdateFileRequest> = {\n encode(message: UpdateFileRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.id !== \"\") {\n writer.uint32(10).string(message.id);\n }\n if (message.data !== \"\") {\n writer.uint32(18).string(message.data);\n }\n if (message.name !== undefined) {\n writer.uint32(26).string(message.name);\n }\n if (message.folder !== undefined) {\n writer.uint32(34).string(message.folder);\n }\n if (message.container !== undefined) {\n writer.uint32(42).string(message.container);\n }\n if (message.mimeType !== undefined) {\n writer.uint32(50).string(message.mimeType);\n }\n if (message.userId !== undefined) {\n writer.uint32(58).string(message.userId);\n }\n if (message.scope !== undefined) {\n writer.uint32(66).string(message.scope);\n }\n if (message.alias !== undefined) {\n writer.uint32(74).string(message.alias);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): UpdateFileRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseUpdateFileRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.data = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.folder = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.container = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.mimeType = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.userId = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.scope = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.alias = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): UpdateFileRequest {\n return {\n id: isSet(object.id) ? globalThis.String(object.id) : \"\",\n data: isSet(object.data) ? globalThis.String(object.data) : \"\",\n name: isSet(object.name) ? globalThis.String(object.name) : undefined,\n folder: isSet(object.folder) ? globalThis.String(object.folder) : undefined,\n container: isSet(object.container) ? globalThis.String(object.container) : undefined,\n mimeType: isSet(object.mimeType) ? globalThis.String(object.mimeType) : undefined,\n userId: isSet(object.userId) ? globalThis.String(object.userId) : undefined,\n scope: isSet(object.scope) ? globalThis.String(object.scope) : undefined,\n alias: isSet(object.alias) ? globalThis.String(object.alias) : undefined,\n };\n },\n\n toJSON(message: UpdateFileRequest): unknown {\n const obj: any = {};\n if (message.id !== \"\") {\n obj.id = message.id;\n }\n if (message.data !== \"\") {\n obj.data = message.data;\n }\n if (message.name !== undefined) {\n obj.name = message.name;\n }\n if (message.folder !== undefined) {\n obj.folder = message.folder;\n }\n if (message.container !== undefined) {\n obj.container = message.container;\n }\n if (message.mimeType !== undefined) {\n obj.mimeType = message.mimeType;\n }\n if (message.userId !== undefined) {\n obj.userId = message.userId;\n }\n if (message.scope !== undefined) {\n obj.scope = message.scope;\n }\n if (message.alias !== undefined) {\n obj.alias = message.alias;\n }\n return obj;\n },\n\n create(base?: DeepPartial<UpdateFileRequest>): UpdateFileRequest {\n return UpdateFileRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<UpdateFileRequest>): UpdateFileRequest {\n const message = createBaseUpdateFileRequest();\n message.id = object.id ?? \"\";\n message.data = object.data ?? \"\";\n message.name = object.name ?? undefined;\n message.folder = object.folder ?? undefined;\n message.container = object.container ?? undefined;\n message.mimeType = object.mimeType ?? undefined;\n message.userId = object.userId ?? undefined;\n message.scope = object.scope ?? undefined;\n message.alias = object.alias ?? undefined;\n return message;\n },\n};\n\nfunction createBaseFileResponse(): FileResponse {\n return { id: \"\", url: \"\", name: \"\" };\n}\n\nexport const FileResponse: MessageFns<FileResponse> = {\n encode(message: FileResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.id !== \"\") {\n writer.uint32(10).string(message.id);\n }\n if (message.url !== \"\") {\n writer.uint32(18).string(message.url);\n }\n if (message.name !== \"\") {\n writer.uint32(26).string(message.name);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): FileResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFileResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.url = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): FileResponse {\n return {\n id: isSet(object.id) ? globalThis.String(object.id) : \"\",\n url: isSet(object.url) ? globalThis.String(object.url) : \"\",\n name: isSet(object.name) ? globalThis.String(object.name) : \"\",\n };\n },\n\n toJSON(message: FileResponse): unknown {\n const obj: any = {};\n if (message.id !== \"\") {\n obj.id = message.id;\n }\n if (message.url !== \"\") {\n obj.url = message.url;\n }\n if (message.name !== \"\") {\n obj.name = message.name;\n }\n return obj;\n },\n\n create(base?: DeepPartial<FileResponse>): FileResponse {\n return FileResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<FileResponse>): FileResponse {\n const message = createBaseFileResponse();\n message.id = object.id ?? \"\";\n message.url = object.url ?? \"\";\n message.name = object.name ?? \"\";\n return message;\n },\n};\n\nfunction createBaseGetFileDataResponse(): GetFileDataResponse {\n return { data: \"\" };\n}\n\nexport const GetFileDataResponse: MessageFns<GetFileDataResponse> = {\n encode(message: GetFileDataResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.data !== \"\") {\n writer.uint32(10).string(message.data);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GetFileDataResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetFileDataResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.data = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GetFileDataResponse {\n return { data: isSet(object.data) ? globalThis.String(object.data) : \"\" };\n },\n\n toJSON(message: GetFileDataResponse): unknown {\n const obj: any = {};\n if (message.data !== \"\") {\n obj.data = message.data;\n }\n return obj;\n },\n\n create(base?: DeepPartial<GetFileDataResponse>): GetFileDataResponse {\n return GetFileDataResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<GetFileDataResponse>): GetFileDataResponse {\n const message = createBaseGetFileDataResponse();\n message.data = object.data ?? \"\";\n return message;\n },\n};\n\nfunction createBaseDeleteFileResponse(): DeleteFileResponse {\n return { success: false };\n}\n\nexport const DeleteFileResponse: MessageFns<DeleteFileResponse> = {\n encode(message: DeleteFileResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.success !== false) {\n writer.uint32(8).bool(message.success);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): DeleteFileResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDeleteFileResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.success = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): DeleteFileResponse {\n return { success: isSet(object.success) ? globalThis.Boolean(object.success) : false };\n },\n\n toJSON(message: DeleteFileResponse): unknown {\n const obj: any = {};\n if (message.success !== false) {\n obj.success = message.success;\n }\n return obj;\n },\n\n create(base?: DeepPartial<DeleteFileResponse>): DeleteFileResponse {\n return DeleteFileResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<DeleteFileResponse>): DeleteFileResponse {\n const message = createBaseDeleteFileResponse();\n message.success = object.success ?? false;\n return message;\n },\n};\n\nfunction createBaseCreateFileByUrlRequest(): CreateFileByUrlRequest {\n return {\n name: undefined,\n isPublic: false,\n folder: undefined,\n container: undefined,\n mimeType: undefined,\n size: undefined,\n userId: undefined,\n scope: undefined,\n alias: undefined,\n };\n}\n\nexport const CreateFileByUrlRequest: MessageFns<CreateFileByUrlRequest> = {\n encode(message: CreateFileByUrlRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.name !== undefined) {\n writer.uint32(10).string(message.name);\n }\n if (message.isPublic !== false) {\n writer.uint32(16).bool(message.isPublic);\n }\n if (message.folder !== undefined) {\n writer.uint32(26).string(message.folder);\n }\n if (message.container !== undefined) {\n writer.uint32(34).string(message.container);\n }\n if (message.mimeType !== undefined) {\n writer.uint32(42).string(message.mimeType);\n }\n if (message.size !== undefined) {\n writer.uint32(48).int32(message.size);\n }\n if (message.userId !== undefined) {\n writer.uint32(58).string(message.userId);\n }\n if (message.scope !== undefined) {\n writer.uint32(66).string(message.scope);\n }\n if (message.alias !== undefined) {\n writer.uint32(74).string(message.alias);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): CreateFileByUrlRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseCreateFileByUrlRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.isPublic = reader.bool();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.folder = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.container = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.mimeType = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 48) {\n break;\n }\n\n message.size = reader.int32();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.userId = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.scope = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.alias = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): CreateFileByUrlRequest {\n return {\n name: isSet(object.name) ? globalThis.String(object.name) : undefined,\n isPublic: isSet(object.isPublic) ? globalThis.Boolean(object.isPublic) : false,\n folder: isSet(object.folder) ? globalThis.String(object.folder) : undefined,\n container: isSet(object.container) ? globalThis.String(object.container) : undefined,\n mimeType: isSet(object.mimeType) ? globalThis.String(object.mimeType) : undefined,\n size: isSet(object.size) ? globalThis.Number(object.size) : undefined,\n userId: isSet(object.userId) ? globalThis.String(object.userId) : undefined,\n scope: isSet(object.scope) ? globalThis.String(object.scope) : undefined,\n alias: isSet(object.alias) ? globalThis.String(object.alias) : undefined,\n };\n },\n\n toJSON(message: CreateFileByUrlRequest): unknown {\n const obj: any = {};\n if (message.name !== undefined) {\n obj.name = message.name;\n }\n if (message.isPublic !== false) {\n obj.isPublic = message.isPublic;\n }\n if (message.folder !== undefined) {\n obj.folder = message.folder;\n }\n if (message.container !== undefined) {\n obj.container = message.container;\n }\n if (message.mimeType !== undefined) {\n obj.mimeType = message.mimeType;\n }\n if (message.size !== undefined) {\n obj.size = Math.round(message.size);\n }\n if (message.userId !== undefined) {\n obj.userId = message.userId;\n }\n if (message.scope !== undefined) {\n obj.scope = message.scope;\n }\n if (message.alias !== undefined) {\n obj.alias = message.alias;\n }\n return obj;\n },\n\n create(base?: DeepPartial<CreateFileByUrlRequest>): CreateFileByUrlRequest {\n return CreateFileByUrlRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<CreateFileByUrlRequest>): CreateFileByUrlRequest {\n const message = createBaseCreateFileByUrlRequest();\n message.name = object.name ?? undefined;\n message.isPublic = object.isPublic ?? false;\n message.folder = object.folder ?? undefined;\n message.container = object.container ?? undefined;\n message.mimeType = object.mimeType ?? undefined;\n message.size = object.size ?? undefined;\n message.userId = object.userId ?? undefined;\n message.scope = object.scope ?? undefined;\n message.alias = object.alias ?? undefined;\n return message;\n },\n};\n\nfunction createBaseFileByUrlResponse(): FileByUrlResponse {\n return { id: \"\", fileUrl: \"\", name: \"\", uploadUrl: \"\" };\n}\n\nexport const FileByUrlResponse: MessageFns<FileByUrlResponse> = {\n encode(message: FileByUrlResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.id !== \"\") {\n writer.uint32(10).string(message.id);\n }\n if (message.fileUrl !== \"\") {\n writer.uint32(18).string(message.fileUrl);\n }\n if (message.name !== \"\") {\n writer.uint32(26).string(message.name);\n }\n if (message.uploadUrl !== \"\") {\n writer.uint32(34).string(message.uploadUrl);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): FileByUrlResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFileByUrlResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.fileUrl = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.uploadUrl = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): FileByUrlResponse {\n return {\n id: isSet(object.id) ? globalThis.String(object.id) : \"\",\n fileUrl: isSet(object.fileUrl) ? globalThis.String(object.fileUrl) : \"\",\n name: isSet(object.name) ? globalThis.String(object.name) : \"\",\n uploadUrl: isSet(object.uploadUrl) ? globalThis.String(object.uploadUrl) : \"\",\n };\n },\n\n toJSON(message: FileByUrlResponse): unknown {\n const obj: any = {};\n if (message.id !== \"\") {\n obj.id = message.id;\n }\n if (message.fileUrl !== \"\") {\n obj.fileUrl = message.fileUrl;\n }\n if (message.name !== \"\") {\n obj.name = message.name;\n }\n if (message.uploadUrl !== \"\") {\n obj.uploadUrl = message.uploadUrl;\n }\n return obj;\n },\n\n create(base?: DeepPartial<FileByUrlResponse>): FileByUrlResponse {\n return FileByUrlResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<FileByUrlResponse>): FileByUrlResponse {\n const message = createBaseFileByUrlResponse();\n message.id = object.id ?? \"\";\n message.fileUrl = object.fileUrl ?? \"\";\n message.name = object.name ?? \"\";\n message.uploadUrl = object.uploadUrl ?? \"\";\n return message;\n },\n};\n\nfunction createBaseUpdateFileByUrlRequest(): UpdateFileByUrlRequest {\n return {\n id: \"\",\n name: undefined,\n folder: undefined,\n container: undefined,\n mimeType: undefined,\n size: undefined,\n userId: undefined,\n scope: undefined,\n alias: undefined,\n };\n}\n\nexport const UpdateFileByUrlRequest: MessageFns<UpdateFileByUrlRequest> = {\n encode(message: UpdateFileByUrlRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.id !== \"\") {\n writer.uint32(10).string(message.id);\n }\n if (message.name !== undefined) {\n writer.uint32(18).string(message.name);\n }\n if (message.folder !== undefined) {\n writer.uint32(26).string(message.folder);\n }\n if (message.container !== undefined) {\n writer.uint32(34).string(message.container);\n }\n if (message.mimeType !== undefined) {\n writer.uint32(42).string(message.mimeType);\n }\n if (message.size !== undefined) {\n writer.uint32(48).int32(message.size);\n }\n if (message.userId !== undefined) {\n writer.uint32(58).string(message.userId);\n }\n if (message.scope !== undefined) {\n writer.uint32(66).string(message.scope);\n }\n if (message.alias !== undefined) {\n writer.uint32(74).string(message.alias);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): UpdateFileByUrlRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseUpdateFileByUrlRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.name = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.folder = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.container = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.mimeType = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 48) {\n break;\n }\n\n message.size = reader.int32();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.userId = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.scope = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.alias = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): UpdateFileByUrlRequest {\n return {\n id: isSet(object.id) ? globalThis.String(object.id) : \"\",\n name: isSet(object.name) ? globalThis.String(object.name) : undefined,\n folder: isSet(object.folder) ? globalThis.String(object.folder) : undefined,\n container: isSet(object.container) ? globalThis.String(object.container) : undefined,\n mimeType: isSet(object.mimeType) ? globalThis.String(object.mimeType) : undefined,\n size: isSet(object.size) ? globalThis.Number(object.size) : undefined,\n userId: isSet(object.userId) ? globalThis.String(object.userId) : undefined,\n scope: isSet(object.scope) ? globalThis.String(object.scope) : undefined,\n alias: isSet(object.alias) ? globalThis.String(object.alias) : undefined,\n };\n },\n\n toJSON(message: UpdateFileByUrlRequest): unknown {\n const obj: any = {};\n if (message.id !== \"\") {\n obj.id = message.id;\n }\n if (message.name !== undefined) {\n obj.name = message.name;\n }\n if (message.folder !== undefined) {\n obj.folder = message.folder;\n }\n if (message.container !== undefined) {\n obj.container = message.container;\n }\n if (message.mimeType !== undefined) {\n obj.mimeType = message.mimeType;\n }\n if (message.size !== undefined) {\n obj.size = Math.round(message.size);\n }\n if (message.userId !== undefined) {\n obj.userId = message.userId;\n }\n if (message.scope !== undefined) {\n obj.scope = message.scope;\n }\n if (message.alias !== undefined) {\n obj.alias = message.alias;\n }\n return obj;\n },\n\n create(base?: DeepPartial<UpdateFileByUrlRequest>): UpdateFileByUrlRequest {\n return UpdateFileByUrlRequest.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<UpdateFileByUrlRequest>): UpdateFileByUrlRequest {\n const message = createBaseUpdateFileByUrlRequest();\n message.id = object.id ?? \"\";\n message.name = object.name ?? undefined;\n message.folder = object.folder ?? undefined;\n message.container = object.container ?? undefined;\n message.mimeType = object.mimeType ?? undefined;\n message.size = object.size ?? undefined;\n message.userId = object.userId ?? undefined;\n message.scope = object.scope ?? undefined;\n message.alias = object.alias ?? undefined;\n return message;\n },\n};\n\nexport type StorageDefinition = typeof StorageDefinition;\nexport const StorageDefinition = {\n name: \"Storage\",\n fullName: \"storage.Storage\",\n methods: {\n getFile: {\n name: \"GetFile\",\n requestType: GetFileRequest as typeof GetFileRequest,\n requestStream: false,\n responseType: FileResponse as typeof FileResponse,\n responseStream: false,\n options: {},\n },\n getFileData: {\n name: \"GetFileData\",\n requestType: GetFileRequest as typeof GetFileRequest,\n requestStream: false,\n responseType: GetFileDataResponse as typeof GetFileDataResponse,\n responseStream: false,\n options: {},\n },\n getFileUrl: {\n name: \"GetFileUrl\",\n requestType: GetFileUrlRequest as typeof GetFileUrlRequest,\n requestStream: false,\n responseType: GetFileUrlResponse as typeof GetFileUrlResponse,\n responseStream: false,\n options: {},\n },\n updateFile: {\n name: \"UpdateFile\",\n requestType: UpdateFileRequest as typeof UpdateFileRequest,\n requestStream: false,\n responseType: FileResponse as typeof FileResponse,\n responseStream: false,\n options: {},\n },\n createFile: {\n name: \"CreateFile\",\n requestType: CreateFileRequest as typeof CreateFileRequest,\n requestStream: false,\n responseType: FileResponse as typeof FileResponse,\n responseStream: false,\n options: {},\n },\n deleteFile: {\n name: \"DeleteFile\",\n requestType: GetFileRequest as typeof GetFileRequest,\n requestStream: false,\n responseType: DeleteFileResponse as typeof DeleteFileResponse,\n responseStream: false,\n options: {},\n },\n createFileByUrl: {\n name: \"CreateFileByUrl\",\n requestType: CreateFileByUrlRequest as typeof CreateFileByUrlRequest,\n requestStream: false,\n responseType: FileByUrlResponse as typeof FileByUrlResponse,\n responseStream: false,\n options: {},\n },\n updateFileByUrl: {\n name: \"UpdateFileByUrl\",\n requestType: UpdateFileByUrlRequest as typeof UpdateFileByUrlRequest,\n requestStream: false,\n responseType: FileByUrlResponse as typeof FileByUrlResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype DeepPartial<T> = T extends Builtin ? T\n : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","import { IConduitLogger, IConduitMetrics } from '../interfaces/index.js';\n\n// Static logger instance (defaults to console)\nlet _logger: IConduitLogger | Console = console;\n\n// Static metrics instance\nlet _metrics: IConduitMetrics | undefined = undefined;\n\n// Static middleware/interceptors array\nlet _middleware: any[] = [];\n\n/**\n * Get the current logger instance\n */\nexport function getLogger(): IConduitLogger | Console {\n return _logger;\n}\n\n/**\n * Set the logger instance\n */\nexport function setLogger(logger: IConduitLogger | Console): void {\n _logger = logger;\n}\n\n/**\n * Get the current metrics instance\n */\nexport function getMetrics(): IConduitMetrics | undefined {\n return _metrics;\n}\n\n/**\n * Set the metrics instance\n */\nexport function setMetrics(metrics: IConduitMetrics | undefined): void {\n _metrics = metrics;\n}\n\n/**\n * Get the current middleware/interceptors array\n */\nexport function getInterceptors(): any[] {\n return _middleware;\n}\n\n/**\n * Add middleware to the interceptors array\n */\nexport function addMiddleware(middleware: any): void {\n _middleware.push(middleware);\n}\n\n/**\n * Clear all middleware\n */\nexport function clearMiddleware(): void {\n _middleware = [];\n}\n","import {\n getGrpcSignedTokenInterceptor,\n getModuleNameInterceptor,\n} from '../interceptors/index.js';\nimport { createChannel, createClientFactory } from 'nice-grpc';\nimport { HealthCheckResponse, HealthDefinition } from '../protoUtils/index.js';\nimport { getInterceptors } from '../utilities/GrpcSdkContext.js';\n\nexport async function checkModuleHealth(\n clientName: string,\n serviceUrl: string,\n service: string = '',\n grpcToken?: string,\n) {\n const channel = createChannel(serviceUrl, undefined, {\n 'grpc.max_receive_message_length': 1024 * 1024 * 100,\n 'grpc.max_send_message_length': 1024 * 1024 * 100,\n });\n let clientFactory = createClientFactory().use(\n grpcToken\n ? getGrpcSignedTokenInterceptor(grpcToken)\n : getModuleNameInterceptor(clientName),\n );\n for (const interceptor of getInterceptors()) {\n clientFactory = clientFactory.use(interceptor);\n }\n const _healthClient = clientFactory.create(HealthDefinition, channel);\n\n let error;\n const status = await _healthClient\n .check({ service })\n .then((res: HealthCheckResponse) => {\n return res.status;\n })\n .catch(err => (error = err));\n channel.close();\n if (!error) {\n return status;\n }\n throw error;\n}\n","import { ConduitModel, ConduitSchemaOptions } from '../interfaces/index.js';\n\nexport class ConduitSchema {\n readonly name: string;\n readonly fields: ConduitModel;\n readonly collectionName: string | ''; // '' on implicit name, updated in createSchemaFromAdapter()\n readonly modelOptions: ConduitSchemaOptions;\n ownerModule: string = 'unknown';\n parentSchema?: string;\n\n constructor(\n name: string,\n fields: ConduitModel,\n modelOptions?: ConduitSchemaOptions,\n collectionName?: string,\n ) {\n this.name = name;\n this.fields = fields;\n this.modelOptions = modelOptions ?? {};\n this.collectionName = collectionName && collectionName !== '' ? collectionName : '';\n }\n}\n","import { Resource_Permission, Resource_Relation } from '../protoUtils/index.js';\n\nexport class ConduitAuthorizedResource {\n readonly name: string;\n readonly relations: Resource_Relation[] = [];\n readonly permissions: Resource_Permission[] = [];\n readonly version?: number;\n\n constructor(\n name: string,\n relations: { [field: string]: string | string[] },\n permissions: { [action: string]: string | string[] },\n version?: number,\n ) {\n this.name = name;\n this.relations = Object.keys(relations).map(relation => {\n return {\n name: relation,\n resourceType: Array.isArray(relations[relation])\n ? (relations[relation] as string[])\n : ([relations[relation]] as string[]),\n };\n });\n this.permissions = Object.keys(permissions).map(permission => {\n return {\n name: permission,\n roles: Array.isArray(permissions[permission])\n ? (permissions[permission] as string[])\n : ([permissions[permission]] as string[]),\n };\n });\n this.version = version;\n }\n}\n","import { AuthzOptions, PopulateAuthzOptions } from '../types/options.js';\nimport { isNil } from 'lodash-es';\n\nexport function normalizeAuthzOptions(\n userIdOrOptions?: string | AuthzOptions,\n scope?: string,\n): AuthzOptions {\n if (typeof userIdOrOptions === 'string' || isNil(userIdOrOptions)) {\n return { userId: userIdOrOptions, scope };\n }\n return userIdOrOptions;\n}\n\nexport function normalizePopulateAuthzOptions(\n populateOrOptions?: string | string[] | PopulateAuthzOptions,\n userId?: string,\n scope?: string,\n) {\n if (\n typeof populateOrOptions === 'string' ||\n Array.isArray(populateOrOptions) ||\n isNil(populateOrOptions)\n ) {\n return { populate: populateOrOptions, userId, scope };\n }\n return populateOrOptions;\n}\n","import { ConduitModule } from '../../classes/index.js';\nimport {\n DeleteFileResponse,\n FileByUrlResponse,\n FileResponse,\n GetFileDataResponse,\n GetFileUrlResponse,\n StorageDefinition,\n} from '../../protoUtils/storage.js';\nimport { AuthzOptions } from '../../types/options.js';\nimport { normalizeAuthzOptions } from '../../utilities/normalizeOptions.js';\nimport {\n CreateFileByURLOptions,\n CreateFileOptions,\n UpdateFileByURLOptions,\n UpdateFileOptions,\n} from './types.js';\nimport { isNil } from 'lodash-es';\n\nexport class Storage extends ConduitModule<typeof StorageDefinition> {\n constructor(\n private readonly moduleName: string,\n url: string,\n grpcToken?: string,\n ) {\n super(moduleName, 'storage', url, grpcToken);\n this.initializeClient(StorageDefinition);\n }\n\n getFile(id: string, userId?: string, scope?: string): Promise<FileResponse>;\n\n getFile(id: string, options?: AuthzOptions): Promise<FileResponse>;\n\n getFile(\n id: string,\n userIdOrOptions?: string | AuthzOptions,\n scope?: string,\n ): Promise<FileResponse> {\n const options = normalizeAuthzOptions(userIdOrOptions, scope);\n return this.client!.getFile({ id, ...options });\n }\n\n getFileUrl(id: string, userId?: string, scope?: string): Promise<GetFileUrlResponse>;\n\n getFileUrl(id: string, options?: AuthzOptions): Promise<GetFileUrlResponse>;\n\n getFileUrl(\n id: string,\n userIdOrOptions?: string | AuthzOptions,\n scope?: string,\n ): Promise<GetFileUrlResponse> {\n const options = normalizeAuthzOptions(userIdOrOptions, scope);\n return this.client!.getFileUrl({ id, ...options });\n }\n\n getFileData(id: string, userId?: string, scope?: string): Promise<GetFileDataResponse>;\n\n getFileData(id: string, options?: AuthzOptions): Promise<GetFileDataResponse>;\n\n getFileData(\n id: string,\n userIdOrOptions?: string | AuthzOptions,\n scope?: string,\n ): Promise<GetFileDataResponse> {\n const options = normalizeAuthzOptions(userIdOrOptions, scope);\n return this.client!.getFileData({ id, ...options });\n }\n\n createFile(\n name: string | undefined,\n data: string,\n folder?: string,\n container?: string,\n mimeType?: string,\n isPublic?: boolean,\n userId?: string,\n scope?: string,\n alias?: string,\n ): Promise<FileResponse>;\n\n createFile(\n name: string | undefined,\n data: string,\n options?: CreateFileOptions,\n ): Promise<FileResponse>;\n\n createFile(\n name: string | undefined,\n data: string,\n folderOrOptions?: string | CreateFileOptions,\n container?: string,\n mimeType?: string,\n isPublic?: boolean,\n userId?: string,\n scope?: string,\n alias?: string,\n ): Promise<FileResponse> {\n let options: CreateFileOptions;\n if (typeof folderOrOptions === 'string' || isNil(folderOrOptions)) {\n options = {\n folder: folderOrOptions,\n container,\n mimeType,\n isPublic,\n userId,\n scope,\n alias,\n };\n } else {\n options = folderOrOptions;\n }\n return this.client!.createFile({\n name,\n data,\n ...options,\n isPublic: options.isPublic ?? false,\n });\n }\n\n updateFile(\n id: string,\n data: string,\n name?: string,\n folder?: string,\n container?: string,\n mimeType?: string,\n userId?: string,\n scope?: string,\n alias?: string,\n ): Promise<FileResponse>;\n\n updateFile(\n id: string,\n data: string,\n options?: UpdateFileOptions,\n ): Promise<FileResponse>;\n\n updateFile(\n id: string,\n data: string,\n nameOrOptions?: string | UpdateFileOptions,\n folder?: string,\n container?: string,\n mimeType?: string,\n userId?: string,\n scope?: string,\n alias?: string,\n ): Promise<FileResponse> {\n let options: UpdateFileOptions;\n if (typeof nameOrOptions === 'string' || isNil(nameOrOptions)) {\n options = {\n name: nameOrOptions,\n folder,\n container,\n mimeType,\n userId,\n scope,\n alias,\n };\n } else {\n options = nameOrOptions;\n }\n return this.client!.updateFile({\n id,\n data,\n ...options,\n });\n }\n\n deleteFile(id: string, userId?: string, scope?: string): Promise<DeleteFileResponse>;\n\n deleteFile(id: string, options?: AuthzOptions): Promise<DeleteFileResponse>;\n\n deleteFile(\n id: string,\n userIdOrOptions?: string | AuthzOptions,\n scope?: string,\n ): Promise<DeleteFileResponse> {\n const options = normalizeAuthzOptions(userIdOrOptions, scope);\n return this.client!.deleteFile({ id, ...options });\n }\n\n createFileByUrl(\n name: string | undefined,\n folder?: string,\n container?: string,\n mimeType?: string,\n size?: number,\n isPublic?: boolean,\n userId?: string,\n scope?: string,\n alias?: string,\n ): Promise<FileByUrlResponse>;\n\n createFileByUrl(\n name: string | undefined,\n options?: CreateFileByURLOptions,\n ): Promise<FileByUrlResponse>;\n\n createFileByUrl(\n name: string | undefined,\n folderOrOptions?: string | CreateFileByURLOptions,\n container?: string,\n mimeType?: string,\n size?: number,\n isPublic?: boolean,\n userId?: string,\n scope?: string,\n alias?: string,\n ): Promise<FileByUrlResponse> {\n let options: CreateFileByURLOptions;\n if (typeof folderOrOptions === 'string' || isNil(folderOrOptions)) {\n options = {\n folder: folderOrOptions,\n container,\n mimeType,\n size,\n isPublic,\n userId,\n scope,\n alias,\n };\n } else {\n options = folderOrOptions;\n }\n return this.client!.createFileByUrl({\n name,\n ...options,\n isPublic: options.isPublic ?? false,\n });\n }\n\n updateFileByUrl(\n id: string,\n name?: string,\n folder?: string,\n container?: string,\n mimeType?: string,\n size?: number,\n userId?: string,\n scope?: string,\n alias?: string,\n ): Promise<FileByUrlResponse>;\n\n updateFileByUrl(\n id: string,\n options?: UpdateFileByURLOptions,\n ): Promise<FileByUrlResponse>;\n\n updateFileByUrl(\n id: string,\n nameOrOptions?: string | UpdateFileByURLOptions,\n folder?: string,\n container?: string,\n mimeType?: string,\n size?: number,\n userId?: string,\n scope?: string,\n alias?: string,\n ): Promise<FileByUrlResponse> {\n let options: UpdateFileByURLOptions;\n if (typeof nameOrOptions === 'string' || isNil(nameOrOptions)) {\n options = {\n name: nameOrOptions,\n folder,\n container,\n mimeType,\n size,\n userId,\n scope,\n alias,\n };\n } else {\n options = nameOrOptions;\n }\n return this.client!.updateFileByUrl({ id, ...options });\n }\n}\n","import { ConduitModule } from '../../classes/index.js';\nimport {\n RegisterConduitRouteRequest,\n RegisterConduitRouteRequest_PathDefinition,\n RouterDefinition,\n SocketData,\n} from '../../protoUtils/router.js';\nimport { ConduitRouteActions } from '../../interfaces/index.js';\n\nexport class Router extends ConduitModule<typeof RouterDefinition> {\n constructor(\n readonly moduleName: string,\n url: string,\n grpcToken?: string,\n ) {\n super(moduleName, 'router', url, grpcToken);\n this.initializeClient(RouterDefinition);\n }\n\n register(\n paths: RegisterConduitRouteRequest_PathDefinition[],\n url?: string,\n ): Promise<any> {\n const request: RegisterConduitRouteRequest = {\n routes: paths,\n routerUrl: url,\n };\n return this.client!.registerConduitRoute(request);\n }\n\n socketPush(data: SocketData) {\n return this.client!.socketPush(data);\n }\n\n patchRouteMiddlewares(\n path: string,\n action: ConduitRouteActions,\n middlewares: string[],\n ) {\n return this.client!.patchRouteMiddlewares({\n path: path,\n action: action,\n middlewares: middlewares,\n });\n }\n}\n","import { ConduitModule } from '../../classes/index.js';\nimport { CommunicationsDefinition } from '../../protoUtils/index.js';\n\nexport class Email extends ConduitModule<typeof CommunicationsDefinition> {\n constructor(\n private readonly moduleName: string,\n url: string,\n grpcToken?: string,\n ) {\n // Connect to communications module instead of email\n super(moduleName, 'communications', url, grpcToken);\n this.initializeClient(CommunicationsDefinition);\n }\n\n registerTemplate(template: {\n name: string;\n subject: string;\n body: string;\n variables: string[];\n sender?: string;\n }) {\n return this.client!.registerTemplate({\n name: template.name,\n subject: template.subject,\n body: template.body,\n variables: template.variables,\n sender: template.sender,\n }).then(res => {\n return JSON.parse(res.template);\n });\n }\n\n updateTemplate(\n templateId: string,\n params: {\n name?: string;\n subject?: string;\n body?: string;\n variables?: string[];\n sender?: string;\n },\n ) {\n return this.client!.updateTemplate({\n id: templateId,\n name: params.name,\n subject: params.subject,\n body: params.body,\n variables: params.variables,\n sender: params.sender,\n }).then(res => {\n return JSON.parse(res.template);\n });\n }\n\n sendEmail(\n templateName: string,\n params: {\n email: string;\n variables: any;\n sender?: string;\n replyTo?: string;\n cc?: string[];\n attachments?: {\n filename: string;\n contentType?: string;\n content?: Buffer;\n href?: string;\n httpHeaders?: Record<string, string>;\n }[];\n },\n ) {\n return this.client!.sendEmail({\n templateName,\n params: {\n email: params.email,\n variables: JSON.stringify(params.variables),\n sender: params.sender,\n replyTo: params.replyTo,\n cc: params.cc ?? [],\n attachments:\n params.attachments?.map(attachment => ({\n ...attachment,\n content: attachment.content ? new Uint8Array(attachment.content) : undefined,\n httpHeaders: attachment.httpHeaders\n ? JSON.stringify(attachment.httpHeaders)\n : undefined,\n })) ?? [],\n },\n }).then(res => {\n return res.sentMessageInfo;\n });\n }\n\n resendEmail(emailRecordId: string) {\n return this.client!.resendEmail({ emailRecordId }).then(res => {\n return res.sentMessageInfo;\n });\n }\n\n getEmailStatus(messageId: string) {\n return this.client!.getEmailStatus({ messageId }).then(res => {\n return JSON.parse(res.statusInfo);\n });\n }\n}\n","import { ConduitModule, ConduitSchema } from '../../classes/index.js';\nimport {\n DatabaseProviderDefinition,\n DropCollectionResponse,\n Schema,\n} from '../../protoUtils/database.js';\nimport {\n ConduitSchemaExtension,\n Indexable,\n RawQuery,\n UntypedArray,\n} from '../../interfaces/index.js';\nimport { Query } from '../../types/db.js';\nimport type { FindOneOptions, FindManyOptions } from './types.js';\nexport type { FindOneOptions, FindManyOptions } from './types.js';\nimport { AuthzOptions, PopulateAuthzOptions } from '../../types/options.js';\n\nexport type CountDocumentsOptions = AuthzOptions & { readPreference?: string };\n\nfunction toPopulateArray(populate?: string | string[]): string[] {\n if (!populate) return [];\n return Array.isArray(populate) ? populate : [populate];\n}\n\nexport class DatabaseProvider extends ConduitModule<typeof DatabaseProviderDefinition> {\n constructor(\n private readonly moduleName: string,\n url: string,\n grpcToken?: string,\n ) {\n super(moduleName, 'database', url, grpcToken);\n this.initializeClient(DatabaseProviderDefinition);\n }\n\n getSchema(schemaName: string): Promise<{\n name: string;\n fields: any;\n modelOptions: any;\n collectionName: string;\n fieldHash: string;\n }> {\n return this.client!.getSchema({ schemaName: schemaName }).then(res => {\n return {\n name: res.name,\n fields: JSON.parse(res.fields),\n modelOptions: JSON.parse(res.modelOptions),\n collectionName: res.collectionName,\n fieldHash: res.fieldHash,\n };\n });\n }\n\n getSchemas(): Promise<\n {\n name: string;\n fields: any;\n modelOptions: any;\n fieldHash: string;\n }[]\n > {\n return this.client!.getSchemas({}).then(res => {\n return res.schemas.map(\n (schema: {\n name: string;\n fields: string;\n modelOptions: string;\n collectionName: string;\n fieldHash: string;\n }) => {\n return {\n name: schema.name,\n fields: JSON.parse(schema.fields),\n modelOptions: JSON.parse(schema.modelOptions),\n collectionName: schema.collectionName,\n fieldHash: schema.fieldHash,\n };\n },\n );\n });\n }\n\n deleteSchema(schemaName: string, deleteData: boolean): Promise<DropCollectionResponse> {\n return this.client!.deleteSchema({ schemaName, deleteData });\n }\n\n createSchemaFromAdapter(schema: ConduitSchema): Promise<Schema> {\n return this.client!.createSchemaFromAdapter({\n name: schema.name,\n fields: JSON.stringify(schema.fields),\n modelOptions: JSON.stringify(schema.modelOptions),\n collectionName: schema.collectionName,\n }).then(res => {\n return {\n name: res.name,\n fields: JSON.parse(res.fields),\n modelOptions: JSON.parse(res.modelOptions),\n collectionName: res.collectionName,\n fieldHash: res.fieldHash,\n };\n });\n }\n\n setSchemaExtension(extension: ConduitSchemaExtension): Promise<Schema> {\n return this.client!.setSchemaExtension({\n schemaName: extension.schemaName,\n fields: JSON.stringify(extension.fields),\n }).then(res => {\n return {\n name: res.name,\n fields: JSON.parse(res.fields),\n modelOptions: JSON.parse(res.modelOptions),\n collectionName: res.collectionName,\n fieldHash: res.fieldHash,\n };\n });\n }\n\n processQuery<T>(query: Query<T> | Query<T>[]) {\n return JSON.stringify(query);\n }\n\n findOne<T>(schemaName: string, query: Query<T>, options?: FindOneOptions): Promise<T> {\n const o = options ?? {};\n const populateArray = toPopulateArray(o.populate);\n return this.client!.findOne({\n schemaName,\n query: this.processQuery(query),\n ...o,\n select: o.select === null ? undefined : o.select,\n populate: populateArray,\n }).then(res => JSON.parse(res.result));\n }\n\n findMany<T>(\n schemaName: string,\n query: Query<T>,\n options?: FindManyOptions,\n ): Promise<T[]> {\n const o: FindManyOptions = { ...(options ?? {}) };\n if (typeof o.sort === 'string') o.sort = [o.sort];\n const sortObj = Array.isArray(o.sort) ? this.constructSortObj(o.sort) : o.sort;\n const populateArray = toPopulateArray(o.populate);\n\n return this.client!.findMany({\n schemaName,\n query: this.processQuery(query),\n ...o,\n select: o.select === null ? undefined : o.select,\n sort: sortObj,\n populate: populateArray,\n }).then(res => JSON.parse(res.result));\n }\n\n create<T>(schemaName: string, query: Query<T>, options?: AuthzOptions): Promise<T> {\n return this.client!.create({\n schemaName,\n query: this.processQuery(query),\n ...(options ?? {}),\n }).then(res => {\n return JSON.parse(res.result);\n });\n }\n\n createMany<T>(\n schemaName: string,\n query: Query<T>[],\n options?: AuthzOptions,\n ): Promise<T[] | UntypedArray> {\n return this.client!.createMany({\n schemaName,\n query: this.processQuery(query),\n ...(options ?? {}),\n }).then(res => {\n return JSON.parse(res.result);\n });\n }\n\n findByIdAndUpdate<T>(\n schemaName: string,\n id: string,\n document: Query<T>,\n options?: PopulateAuthzOptions,\n ): Promise<T | any> {\n const o = options ?? {};\n const populateArray = toPopulateArray(o.populate);\n return this.client!.findByIdAndUpdate({\n schemaName,\n id,\n query: this.processQuery(document),\n ...o,\n populate: populateArray,\n }).then(res => {\n return JSON.parse(res.result);\n });\n }\n\n findByIdAndReplace<T>(\n schemaName: string,\n id: string,\n document: Query<T>,\n options?: PopulateAuthzOptions,\n ): Promise<T | any> {\n const o = options ?? {};\n const populateArray = toPopulateArray(o.populate);\n return this.client!.findByIdAndReplace({\n schemaName,\n id,\n query: this.processQuery(document),\n ...o,\n populate: populateArray,\n }).then(res => {\n return JSON.parse(res.result);\n });\n }\n\n updateMany<T>(\n schemaName: string,\n filterQuery: Query<T>,\n query: Query<T>,\n options?: PopulateAuthzOptions,\n ) {\n const o = options ?? {};\n const populateArray = toPopulateArray(o.populate);\n return this.client!.updateMany({\n schemaName,\n filterQuery: this.processQuery(filterQuery),\n query: this.processQuery(query),\n ...o,\n populate: populateArray,\n }).then(res => {\n return JSON.parse(res.result);\n });\n }\n\n updateOne<T>(\n schemaName: string,\n filterQuery: Query<T>,\n query: Query<T>,\n options?: PopulateAuthzOptions,\n ) {\n const o = options ?? {};\n const populateArray = toPopulateArray(o.populate);\n return this.client!.updateOne({\n schemaName,\n filterQuery: this.processQuery(filterQuery),\n query: this.processQuery(query),\n ...o,\n populate: populateArray,\n }).then(res => {\n return JSON.parse(res.result);\n });\n }\n\n replaceOne<T>(\n schemaName: string,\n filterQuery: Query<T>,\n query: Query<T>,\n options?: PopulateAuthzOptions,\n ) {\n const o = options ?? {};\n const populateArray = toPopulateArray(o.populate);\n return this.client!.replaceOne({\n schemaName,\n filterQuery: this.processQuery(filterQuery),\n query: this.processQuery(query),\n ...o,\n populate: populateArray,\n }).then(res => {\n return JSON.parse(res.result);\n });\n }\n\n deleteOne<T>(schemaName: string, query: Query<T>, options?: AuthzOptions) {\n return this.client!.deleteOne({\n schemaName,\n query: this.processQuery(query),\n ...(options ?? {}),\n }).then(res => {\n return JSON.parse(res.result);\n });\n }\n\n deleteMany<T>(schemaName: string, query: Query<T>, options?: AuthzOptions) {\n return this.client!.deleteMany({\n schemaName,\n query: this.processQuery(query),\n ...(options ?? {}),\n }).then(res => {\n return JSON.parse(res.result);\n });\n }\n\n countDocuments<T>(\n schemaName: string,\n query: Query<T>,\n options?: CountDocumentsOptions,\n ): Promise<number> {\n return this.client!.countDocuments({\n schemaName,\n query: this.processQuery(query),\n ...(options ?? {}),\n }).then(res => {\n return JSON.parse(res.result);\n });\n }\n\n rawQuery(schemaName: string, query: RawQuery) {\n const processed: any = query;\n if (query.mongoQuery) {\n for (const key of Object.keys(query.mongoQuery)) {\n processed.mongoQuery[key] = JSON.stringify(processed.mongoQuery[key]);\n }\n }\n if (query.sqlQuery?.options) {\n processed.sqlQuery.options = JSON.stringify(query.sqlQuery.options);\n }\n return this.client!.rawQuery({ schemaName, query: processed }).then(res => {\n return JSON.parse(res.result);\n });\n }\n\n createView(\n schemaName: string,\n viewName: string,\n joinedSchemas: string[],\n query: { mongoQuery?: Indexable; sqlQuery?: string },\n ) {\n const processed: any = query;\n if (query.mongoQuery) {\n processed.mongoQuery = JSON.stringify(query.mongoQuery);\n }\n return this.client!.createView({\n schemaName,\n viewName,\n joinedSchemas,\n query: processed,\n });\n }\n\n deleteView(viewName: string) {\n return this.client!.deleteView({ viewName });\n }\n\n columnExistence(schemaName: string, columns: string[]) {\n return this.client!.columnExistence({ schemaName, columns }).then(r => r.result);\n }\n\n migrate(schemaName: string) {\n return this.client!.migrate({ schemaName });\n }\n\n getDatabaseType() {\n return this.client!.getDatabaseType({});\n }\n\n generateId(): Promise<string> {\n return this.client!.generateId({}).then(res => res.result);\n }\n\n private constructSortObj(sort: string[]) {\n const sortObj: { [field: string]: -1 | 1 } = {};\n sort.forEach((sortVal: string) => {\n sortVal = sortVal.trim();\n if (sortVal.indexOf('-') !== -1) {\n sortObj[sortVal.substring(1)] = -1;\n } else {\n sortObj[sortVal] = 1;\n }\n });\n return sortObj;\n }\n}\n","import { EventEmitter } from 'events';\nimport { ConduitModule } from '../../classes/index.js';\nimport { HealthCheckStatus } from '../../types/index.js';\nimport {\n ConfigDefinition,\n ModuleHealthRequest,\n RegisterModuleRequest,\n} from '../../protoUtils/index.js';\nimport { Indexable } from '../../interfaces/index.js';\nimport { getLogger } from '../../utilities/GrpcSdkContext.js';\nimport { ClusterOptions, RedisOptions } from 'ioredis';\n\nexport class Config extends ConduitModule<typeof ConfigDefinition> {\n private readonly emitter = new EventEmitter();\n private coreLive = false;\n private readonly _serviceHealthStatusGetter?: () => HealthCheckStatus;\n\n constructor(\n moduleName: string,\n readonly url: string,\n serviceHealthStatusGetter?: () => HealthCheckStatus,\n grpcToken?: string,\n ) {\n super(moduleName, 'config', url, grpcToken);\n this.initializeClient(ConfigDefinition);\n this._serviceHealthStatusGetter = serviceHealthStatusGetter;\n this.emitter.setMaxListeners(150);\n }\n\n getServerConfig() {\n const request = {};\n return this.client!.getServerConfig(request).then(res => {\n return JSON.parse(res.data);\n });\n }\n\n getModuleUrlByName(name: string): Promise<{ url: string }> {\n if (name === 'core') return Promise.resolve({ url: this.url });\n return this.client!.getModuleUrlByName({ name: name }).then(res => {\n return { url: res.moduleUrl };\n });\n }\n\n get(name: string) {\n const request = {\n key: name,\n };\n return this.client!.get(request).then(res => {\n return JSON.parse(res.data);\n });\n }\n\n configure(config: any, schema: any, override: boolean) {\n const request = {\n config: JSON.stringify(config),\n schema: JSON.stringify(schema),\n override,\n };\n return this.client!.configure(request).then(res => {\n return JSON.parse(res.result);\n });\n }\n\n moduleExists(name: string) {\n const request = {\n moduleName: name,\n };\n return this.client!.moduleExists(request);\n }\n\n moduleList(): Promise<any[]> {\n const request = {};\n return this.client!.moduleList(request)\n .then(res => res.modules)\n .catch(err => {\n if (this._clientName === 'core') return [];\n throw err;\n });\n }\n\n async getRedisDetails(): Promise<{\n standalone?: RedisOptions;\n cluster?: ClusterOptions;\n redisHost?: string;\n redisPort?: number;\n redisUsername?: string;\n redisPassword?: string;\n redisConfig?: string;\n }> {\n const request: Indexable = {};\n const r = await this.client!.getRedisDetails(request);\n return {\n ...(r.standalone ? { standalone: JSON.parse(r.standalone) } : undefined),\n ...(r.cluster ? { cluster: JSON.parse(r.cluster) } : undefined),\n // maintain backwards compatibility with <=grpc-sdk-v0.16.0-alpha.20\n redisHost: r.redisHost,\n redisPort: r.redisPort,\n redisUsername: r.redisUsername,\n redisPassword: r.redisPassword,\n redisConfig: r.redisConfig,\n };\n }\n\n registerModule(\n name: string,\n url: string,\n healthStatus: Omit<HealthCheckStatus, HealthCheckStatus.SERVICE_UNKNOWN>,\n ) {\n const request: RegisterModuleRequest = {\n moduleName: name.toString(),\n url: url.toString(),\n healthStatus: healthStatus as number,\n };\n const self = this;\n return this.client!.registerModule(request).then(res => {\n self.coreLive = true;\n return res.result;\n });\n }\n\n moduleHealthProbe(name: string, url: string) {\n const request: ModuleHealthRequest = {\n moduleName: name.toString(),\n url,\n status: this._serviceHealthStatusGetter\n ? this._serviceHealthStatusGetter()\n : HealthCheckStatus.SERVICE_UNKNOWN,\n };\n const self = this;\n this.client!.moduleHealthProbe(request)\n .then(res => {\n if (!res && self.coreLive) {\n getLogger().warn('Core unhealthy');\n self.coreLive = false;\n } else if (res && !self.coreLive) {\n getLogger().log('Core is live');\n self.coreLive = true;\n self.watchModules();\n }\n })\n .catch(() => {\n if (self.coreLive) {\n getLogger().warn('Core unhealthy');\n self.coreLive = false;\n }\n });\n }\n\n getModuleWatcher() {\n return this.emitter;\n }\n\n async watchModules() {\n if (!this.coreLive) {\n this.coreLive = true;\n }\n this.emitter.emit('serving-modules-update', await this.moduleList().catch());\n try {\n const call = this.client!.watchModules({});\n for await (const data of call) {\n this.emitter.emit('serving-modules-update', data.modules);\n }\n } catch (error) {\n this.coreLive = false;\n getLogger().warn('Core unhealthy');\n this.emitter.emit('core-status-update', HealthCheckStatus.UNKNOWN);\n }\n }\n}\n","import { Metadata, status } from '@grpc/grpc-js';\n\nexport * from './db.js';\nexport * from './options.js';\nexport * from './peers.js';\n\nexport type GrpcRequest<T> = { request: T; metadata?: Metadata };\nexport type GrpcResponse<T> = (\n err: {\n code: number;\n message: string;\n } | null,\n res?: T,\n) => void;\n\nexport class GrpcError extends Error {\n code: status;\n message: string;\n\n constructor(code: status, message: string) {\n super(message);\n this.code = code;\n this.message = message;\n }\n}\n\nexport enum HealthCheckStatus {\n UNKNOWN,\n SERVING,\n NOT_SERVING,\n SERVICE_UNKNOWN,\n}\n\nexport enum MetricType {\n Counter,\n Gauge,\n Histogram,\n Summary,\n}\n","import { ConduitModule } from '../../classes/index.js';\nimport { CoreDefinition } from '../../protoUtils/core.js';\n\nexport class Core extends ConduitModule<typeof CoreDefinition> {\n constructor(\n private readonly moduleName: string,\n url: string,\n grpcToken?: string,\n ) {\n super(moduleName, 'core', url, grpcToken);\n this.initializeClient(CoreDefinition);\n }\n}\n","import { ConduitModule } from '../../classes/index.js';\nimport {\n AdminDefinition,\n RegisterAdminRouteRequest,\n RegisterAdminRouteRequest_PathDefinition,\n} from '../../protoUtils/index.js';\nimport { ConduitRouteActions } from '../../interfaces/index.js';\n\nexport class Admin extends ConduitModule<typeof AdminDefinition> {\n constructor(\n readonly moduleName: string,\n url: string,\n grpcToken?: string,\n ) {\n super(moduleName, 'admin', url, grpcToken);\n this.initializeClient(AdminDefinition);\n }\n\n register(\n paths: RegisterAdminRouteRequest_PathDefinition[],\n serverUrl?: string,\n ): Promise<any> {\n const request: RegisterAdminRouteRequest = {\n routes: paths,\n routerUrl: serverUrl,\n };\n\n return this.client!.registerAdminRoute(request);\n }\n\n patchRouteMiddlewares(\n path: string,\n action: ConduitRouteActions,\n middlewares: string[],\n ) {\n return this.client!.patchRouteMiddlewares({\n path: path,\n action: action,\n middlewares: middlewares,\n });\n }\n}\n","import { ConduitModule } from '../../classes/index.js';\nimport {\n CommunicationsDefinition,\n SendNotificationResponse,\n} from '../../protoUtils/index.js';\nimport { SendNotificationOptions } from './types.js';\nimport { isNil } from 'lodash-es';\n\nexport class PushNotifications extends ConduitModule<typeof CommunicationsDefinition> {\n constructor(\n private readonly moduleName: string,\n url: string,\n grpcToken?: string,\n ) {\n // Connect to communications module instead of push-notifications\n super(moduleName, 'communications', url, grpcToken);\n this.initializeClient(CommunicationsDefinition);\n }\n\n sendNotificationToken(token: string, platform: string, userId: string) {\n return this.client!.setNotificationToken({\n token,\n platform,\n userId,\n }).then(res => {\n return JSON.parse(res.newTokenDocument);\n });\n }\n\n getNotificationTokens(userId: string) {\n return this.client!.getNotificationTokens({\n userId,\n }).then(res => {\n return res.tokenDocuments.map((tokenDocument: string) => {\n return JSON.parse(tokenDocument);\n });\n });\n }\n\n sendNotification(\n sendTo: string,\n title: string,\n body?: string,\n data?: string,\n platform?: string,\n doNotStore?: boolean,\n isSilent?: boolean,\n ): Promise<SendNotificationResponse>;\n\n sendNotification(\n sendTo: string,\n title: string,\n options?: SendNotificationOptions,\n ): Promise<SendNotificationResponse>;\n\n sendNotification(\n sendTo: string,\n title: string,\n bodyOrOptions?: string | SendNotificationOptions,\n data?: string,\n platform?: string,\n doNotStore?: boolean,\n isSilent?: boolean,\n ) {\n let options: SendNotificationOptions;\n if (typeof bodyOrOptions === 'string' || isNil(bodyOrOptions)) {\n options = { body: bodyOrOptions, data, platform, doNotStore, isSilent };\n } else {\n options = bodyOrOptions;\n }\n return this.client!.sendNotification({\n sendTo,\n title,\n ...options,\n });\n }\n\n sendManyNotifications(\n notifications: [\n {\n sendTo: string;\n title: string;\n body?: string;\n data?: string;\n platform?: string;\n doNotStore?: boolean;\n isSilent?: boolean;\n },\n ],\n ) {\n return this.client!.sendManyNotifications({\n notifications,\n });\n }\n\n sendNotificationToManyDevices(\n sendTo: string[],\n title: string,\n body?: string,\n data?: string,\n platform?: string,\n doNotStore?: boolean,\n isSilent?: boolean,\n ): Promise<SendNotificationResponse>;\n\n sendNotificationToManyDevices(\n sendTo: string[],\n title: string,\n options?: SendNotificationOptions,\n ): Promise<SendNotificationResponse>;\n\n sendNotificationToManyDevices(\n sendTo: string[],\n title: string,\n bodyOrOptions?: string | SendNotificationOptions,\n data?: string,\n platform?: string,\n doNotStore?: boolean,\n isSilent?: boolean,\n ) {\n let options: SendNotificationOptions;\n if (typeof bodyOrOptions === 'string' || isNil(bodyOrOptions)) {\n options = { body: bodyOrOptions, data, platform, doNotStore, isSilent };\n } else {\n options = bodyOrOptions;\n }\n return this.client!.sendNotificationToManyDevices({\n sendTo,\n title,\n ...options,\n });\n }\n}\n","import { ConduitModule } from '../../classes/index.js';\nimport { CommunicationsDefinition } from '../../protoUtils/index.js';\n\nexport class SMS extends ConduitModule<typeof CommunicationsDefinition> {\n constructor(\n private readonly moduleName: string,\n url: string,\n grpcToken?: string,\n ) {\n // Connect to communications module instead of sms\n super(moduleName, 'communications', url, grpcToken);\n this.initializeClient(CommunicationsDefinition);\n }\n\n sendSms(to: string, message: string) {\n return this.client!.sendSms({ to, message });\n }\n\n sendVerificationCode(to: string) {\n return this.client!.sendVerificationCode({ to });\n }\n\n verify(verificationSid: string, code: string) {\n return this.client!.verify({ verificationSid, code });\n }\n}\n","import { ConduitModule } from '../../classes/index.js';\nimport { ChatDefinition, Room, SendMessageRequest } from '../../protoUtils/chat.js';\n\nexport class Chat extends ConduitModule<typeof ChatDefinition> {\n constructor(\n private readonly moduleName: string,\n url: string,\n grpcToken?: string,\n ) {\n super(moduleName, 'chat', url, grpcToken);\n this.initializeClient(ChatDefinition);\n }\n\n sendMessage(messageData: SendMessageRequest): Promise<any> {\n return this.client!.sendMessage(messageData);\n }\n\n createRoom(name: string, participants: string[]): Promise<Room> {\n return this.client!.createRoom({ name, participants });\n }\n\n deleteRoom(id: string): Promise<Room> {\n return this.client!.deleteRoom({ _id: id });\n }\n}\n","import { ConduitModule } from '../../classes/index.js';\nimport {\n AllowedResourcesRequest,\n AllowedResourcesResponse,\n AuthorizationDefinition,\n Decision,\n DeleteAllRelationsRequest,\n FindRelationRequest,\n FindRelationResponse,\n PermissionCheck,\n PermissionRequest,\n Relation,\n Resource,\n ResourceAccessListRequest,\n ResourceAccessListResponse,\n} from '../../protoUtils/index.js';\nimport { Empty } from '../../protoUtils/google/protobuf/empty.js';\n\nexport class Authorization extends ConduitModule<typeof AuthorizationDefinition> {\n constructor(\n private readonly moduleName: string,\n url: string,\n grpcToken?: string,\n ) {\n super(moduleName, 'authorization', url, grpcToken);\n this.initializeClient(AuthorizationDefinition);\n }\n\n defineResource(data: Resource): Promise<Empty> {\n return this.client!.defineResource(data);\n }\n\n updateResource(data: Resource): Promise<Empty> {\n return this.client!.updateResource(data);\n }\n\n deleteResource(data: Resource): Promise<unknown> {\n return this.client!.deleteResource(data);\n }\n\n deleteRelation(data: Relation): Promise<unknown> {\n return this.client!.deleteRelation(data);\n }\n\n deleteAllRelations(data: DeleteAllRelationsRequest): Promise<unknown> {\n return this.client!.deleteAllRelations(data);\n }\n\n createRelation(data: Relation): Promise<unknown> {\n return this.client!.createRelation(data);\n }\n\n createRelations(\n subject: string,\n relation: string,\n resources: string[],\n ): Promise<unknown> {\n return this.client!.createRelations({ subject, relation, resources });\n }\n\n findRelation(data: FindRelationRequest): Promise<FindRelationResponse> {\n return this.client!.findRelation(data);\n }\n\n can(data: PermissionCheck): Promise<Decision> {\n return this.client!.can(data);\n }\n\n grantPermission(data: PermissionRequest): Promise<unknown> {\n return this.client!.grantPermission(data);\n }\n\n removePermission(data: PermissionRequest): Promise<unknown> {\n return this.client!.removePermission(data);\n }\n\n getAllowedResources(data: AllowedResourcesRequest): Promise<AllowedResourcesResponse> {\n return this.client!.getAllowedResources(data);\n }\n\n createResourceAccessList(\n data: ResourceAccessListRequest,\n ): Promise<ResourceAccessListResponse> {\n return this.client!.createResourceAccessList(data);\n }\n}\n","import { ConduitModule } from '../../classes/index.js';\nimport {\n AuthenticationDefinition,\n TeamDeleteResponse,\n UserCreateResponse,\n UserDeleteResponse,\n UserLoginResponse,\n Team,\n ValidateAccessTokenResponse,\n UserModifyStatusResponse,\n InvitationDeleteResponse,\n InviteUserToTeamResponse,\n} from '../../protoUtils/index.js';\nimport { Indexable } from '../../interfaces/index.js';\n\nexport class Authentication extends ConduitModule<typeof AuthenticationDefinition> {\n constructor(\n private readonly moduleName: string,\n url: string,\n grpcToken?: string,\n ) {\n super(moduleName, 'authentication', url, grpcToken);\n this.initializeClient(AuthenticationDefinition);\n }\n\n userLogin(userId: string, clientId: string): Promise<UserLoginResponse> {\n return this.client!.userLogin({ userId, clientId });\n }\n\n userDelete(userId: string): Promise<UserDeleteResponse> {\n return this.client!.userDelete({ userId });\n }\n\n userCreate(\n email: string,\n verify: boolean = false,\n password?: string,\n anonymousId?: string,\n userData?: Indexable,\n ): Promise<UserCreateResponse> {\n return this.client!.userCreate({\n email,\n verify,\n password,\n anonymousId,\n userData: JSON.stringify(userData),\n });\n }\n\n userCreateByUsername(\n username: string,\n password?: string,\n anonymousId?: string,\n ): Promise<UserCreateResponse> {\n return this.client!.userCreateByUsername({ username, password, anonymousId });\n }\n\n anonymousUserCreate(clientId: string): Promise<UserLoginResponse> {\n return this.client!.anonymousUserCreate({ clientId });\n }\n\n changePass(email: string, password?: string): Promise<UserCreateResponse> {\n return this.client!.changePass({ email, password });\n }\n\n getTeam(teamId: string): Promise<Team> {\n return this.client!.getTeam({ teamId });\n }\n\n createTeam(name: string, parentTeam?: string, isDefault: boolean = false) {\n return this.client!.createTeam({ name, parentTeam, isDefault });\n }\n\n teamDelete(teamId: string): Promise<TeamDeleteResponse> {\n return this.client!.teamDelete({ teamId });\n }\n\n addTeamMembers(teamId: string, memberIds: string[]) {\n return this.client!.addTeamMembers({ teamId, memberIds });\n }\n\n removeTeamMembers(teamId: string, memberIds: string[]) {\n return this.client!.removeTeamMembers({ teamId, memberIds });\n }\n\n validateAccessToken(\n accessToken: string,\n path?: string,\n ): Promise<ValidateAccessTokenResponse> {\n return this.client!.validateAccessToken({ accessToken, path });\n }\n\n userModifyStatus(userId: string, active: boolean): Promise<UserModifyStatusResponse> {\n return this.client!.userModifyStatus({ id: userId, active });\n }\n\n invitationDelete(teamId: string, email: string): Promise<InvitationDeleteResponse> {\n return this.client!.invitationDelete({ teamId, email });\n }\n\n inviteUserToTeam(\n teamId: string,\n email: string,\n role: string,\n inviterUserId: string,\n redirectUri?: string,\n userData?: Indexable,\n ): Promise<InviteUserToTeamResponse> {\n return this.client!.inviteUserToTeam({\n teamId,\n email,\n role,\n inviterUserId,\n redirectUri,\n userData: JSON.stringify(userData),\n });\n }\n\n updateTeam(teamId: string, name?: string, newParentTeamId?: string): Promise<Team> {\n return this.client!.updateTeam({ teamId, name, newParentTeamId });\n }\n}\n","import { ConduitModule } from '../../classes/index.js';\nimport { CommunicationsDefinition } from '../../protoUtils/index.js';\n\nexport class Communications extends ConduitModule<typeof CommunicationsDefinition> {\n constructor(\n private readonly moduleName: string,\n url: string,\n grpcToken?: string,\n ) {\n super(moduleName, 'communications', url, grpcToken);\n this.initializeClient(CommunicationsDefinition);\n }\n\n // Legacy Email methods\n registerTemplate(template: {\n name: string;\n subject: string;\n body: string;\n variables: string[];\n sender?: string;\n }) {\n return this.client!.registerTemplate({\n name: template.name,\n subject: template.subject,\n body: template.body,\n variables: template.variables,\n sender: template.sender,\n }).then(res => {\n return JSON.parse(res.template);\n });\n }\n\n updateTemplate(\n templateId: string,\n params: {\n name?: string;\n subject?: string;\n body?: string;\n variables?: string[];\n sender?: string;\n },\n ) {\n return this.client!.updateTemplate({\n id: templateId,\n name: params.name,\n subject: params.subject,\n body: params.body,\n variables: params.variables,\n sender: params.sender,\n }).then(res => {\n return JSON.parse(res.template);\n });\n }\n\n sendEmail(\n templateName: string,\n params: {\n email: string;\n variables: any;\n sender?: string;\n replyTo?: string;\n cc?: string[];\n attachments?: {\n filename: string;\n contentType?: string;\n content?: Buffer;\n href?: string;\n httpHeaders?: Record<string, string>;\n }[];\n },\n ) {\n return this.client!.sendEmail({\n templateName,\n params: {\n email: params.email,\n variables: JSON.stringify(params.variables),\n sender: params.sender,\n replyTo: params.replyTo,\n cc: params.cc ?? [],\n attachments:\n params.attachments?.map(attachment => ({\n ...attachment,\n content: attachment.content ? new Uint8Array(attachment.content) : undefined,\n httpHeaders: attachment.httpHeaders\n ? JSON.stringify(attachment.httpHeaders)\n : undefined,\n })) ?? [],\n },\n }).then(res => {\n return res.sentMessageInfo;\n });\n }\n\n resendEmail(emailRecordId: string) {\n return this.client!.resendEmail({ emailRecordId }).then(res => {\n return res.sentMessageInfo;\n });\n }\n\n getEmailStatus(messageId: string) {\n return this.client!.getEmailStatus({ messageId }).then(res => {\n return JSON.parse(res.statusInfo);\n });\n }\n\n // Legacy Push Notifications methods\n setNotificationToken(token: string, platform: string, userId: string) {\n return this.client!.setNotificationToken({\n token,\n platform,\n userId,\n }).then(res => {\n return JSON.parse(res.newTokenDocument);\n });\n }\n\n getNotificationTokens(userId: string) {\n return this.client!.getNotificationTokens({ userId }).then(res => {\n return res.tokenDocuments.map(doc => JSON.parse(doc));\n });\n }\n\n sendNotification(\n sendTo: string,\n title: string,\n body?: string,\n data?: string,\n platform?: string,\n ) {\n return this.client!.sendNotification({\n sendTo,\n title,\n body,\n data,\n platform,\n });\n }\n\n sendNotificationToManyDevices(\n sendTo: string[],\n title: string,\n body?: string,\n data?: string,\n platform?: string,\n ) {\n return this.client!.sendNotificationToManyDevices({\n sendTo,\n title,\n body,\n data,\n platform,\n });\n }\n\n sendManyNotifications(\n notifications: Array<{\n sendTo: string;\n title: string;\n body?: string;\n data?: string;\n platform?: string;\n }>,\n ) {\n return this.client!.sendManyNotifications({\n notifications: notifications.map(notification => ({\n sendTo: notification.sendTo,\n title: notification.title,\n body: notification.body,\n data: notification.data,\n platform: notification.platform,\n })),\n });\n }\n\n // Legacy SMS methods\n sendSms(to: string, message: string) {\n return this.client!.sendSms({ to, message });\n }\n\n sendVerificationCode(to: string) {\n return this.client!.sendVerificationCode({ to });\n }\n\n verify(verificationSid: string, code: string) {\n return this.client!.verify({ verificationSid, code });\n }\n\n // New unified methods\n sendMessage(\n channel: 'email' | 'push' | 'sms',\n params: {\n recipient: string;\n subject?: string;\n body?: string;\n variables?: any;\n sender?: string;\n cc?: string[];\n replyTo?: string;\n attachments?: string[];\n data?: any;\n platform?: string;\n doNotStore?: boolean;\n isSilent?: boolean;\n },\n ) {\n return this.client!.sendCommunication({\n channel,\n templateName: '', // Not used for direct sending\n params: {\n recipient: params.recipient,\n subject: params.subject,\n body: params.body,\n variables: JSON.stringify(params.variables || {}),\n sender: params.sender,\n cc: params.cc ?? [],\n replyTo: params.replyTo,\n attachments: params.attachments ?? [],\n data: JSON.stringify(params.data || {}),\n platform: params.platform,\n doNotStore: params.doNotStore,\n isSilent: params.isSilent,\n },\n }).then(res => {\n return {\n messageId: res.messageId,\n sentMessageInfo: JSON.parse(res.sentMessageInfo),\n };\n });\n }\n\n sendToMultipleChannels(\n channels: ('email' | 'push' | 'sms')[],\n strategy: 'BEST_EFFORT' | 'ALL_OR_NOTHING',\n params: {\n recipient: string;\n subject?: string;\n body?: string;\n variables?: any;\n sender?: string;\n cc?: string[];\n replyTo?: string;\n attachments?: string[];\n data?: any;\n platform?: string;\n doNotStore?: boolean;\n isSilent?: boolean;\n },\n ) {\n return this.client!.sendToMultipleChannels({\n channels,\n strategy,\n templateName: '', // Not used for direct sending\n params: {\n recipient: params.recipient,\n subject: params.subject,\n body: params.body,\n variables: JSON.stringify(params.variables || {}),\n sender: params.sender,\n cc: params.cc ?? [],\n replyTo: params.replyTo,\n attachments: params.attachments ?? [],\n data: JSON.stringify(params.data || {}),\n platform: params.platform,\n doNotStore: params.doNotStore,\n isSilent: params.isSilent,\n },\n }).then(res => {\n return res.results;\n });\n }\n\n sendWithFallback(\n fallbackChain: Array<{\n channel: 'email' | 'push' | 'sms';\n timeout: number;\n }>,\n params: {\n recipient: string;\n subject?: string;\n body?: string;\n variables?: any;\n sender?: string;\n cc?: string[];\n replyTo?: string;\n attachments?: string[];\n data?: any;\n platform?: string;\n doNotStore?: boolean;\n isSilent?: boolean;\n },\n ) {\n return this.client!.sendWithFallback({\n fallbackChain,\n templateName: '', // Not used for direct sending\n params: {\n recipient: params.recipient,\n subject: params.subject,\n body: params.body,\n variables: JSON.stringify(params.variables || {}),\n sender: params.sender,\n cc: params.cc ?? [],\n replyTo: params.replyTo,\n attachments: params.attachments ?? [],\n data: JSON.stringify(params.data || {}),\n platform: params.platform,\n doNotStore: params.doNotStore,\n isSilent: params.isSilent,\n },\n }).then(res => {\n return {\n successfulChannel: res.successfulChannel,\n messageId: res.messageId,\n attempts: res.attempts,\n };\n });\n }\n\n getMessageStatus(channel: 'email' | 'push' | 'sms', messageId: string) {\n return this.client!.getMessageStatus({\n messageId,\n channel,\n }).then(res => {\n return JSON.parse(res.statusInfo);\n });\n }\n}\n","import fs from 'fs-extra';\n\nexport function getJsonEnv<JsonFormat extends object>(\n envName: string,\n envValue?: string,\n handleString?: (value: string) => object,\n): JsonFormat | undefined {\n envValue ??= process.env[envName];\n if (!envValue) return undefined;\n let jsonConfig: object;\n if (envValue.startsWith('{')) {\n try {\n jsonConfig = JSON.parse(envValue);\n } catch (e) {\n throw new Error(`Invalid JSON in ${envName}`);\n }\n } else {\n try {\n jsonConfig = JSON.parse(fs.readFileSync(envValue).toString().trimEnd());\n } catch (e) {\n if (handleString) {\n jsonConfig = handleString(envValue);\n } else {\n throw new Error(`Invalid JSON in ${envName}`);\n }\n }\n }\n return jsonConfig as JsonFormat;\n}\n","export function sleep(ms: number) {\n return new Promise(resolve => {\n setTimeout(resolve, ms);\n });\n}\n","import { RedisManager } from './RedisManager.js';\nimport { Cluster, Redis } from 'ioredis';\nimport crypto from 'crypto';\nimport { getLogger } from './GrpcSdkContext.js';\n\nexport class EventBus {\n private _clientSubscriber: Redis | Cluster;\n private _clientPublisher: Redis | Cluster;\n private _subscribedChannels: { [listener: string]: ((message: string) => void)[] };\n private _subscribers: { [listener: string]: [string, number] };\n private _signature: string;\n\n constructor(redisManager: RedisManager) {\n this._subscribedChannels = {};\n this._subscribers = {};\n this._clientSubscriber = redisManager.getClient({ keyPrefix: 'bus_' });\n this._clientPublisher = redisManager.getClient({ keyPrefix: 'bus_' });\n this._signature = crypto.randomBytes(20).toString('hex');\n this._clientSubscriber.on('ready', () => {\n getLogger().log('The Bus is in the station...hehe');\n });\n process.on('exit', () => {\n this._clientSubscriber.quit();\n this._clientPublisher.quit();\n });\n }\n\n unsubscribe(subscriberId: string): void {\n if (this._subscribers[subscriberId]) {\n const [channelName, index] = this._subscribers[subscriberId];\n this._subscribedChannels[channelName].splice(index, 1);\n delete this._subscribers[subscriberId];\n if (this._subscribedChannels[channelName].length === 0) {\n delete this._subscribedChannels[channelName];\n this._clientSubscriber.unsubscribe(channelName, () => {});\n }\n }\n }\n\n subscribe(\n channelName: string,\n callback: (message: string) => void,\n subscriberId?: string,\n ): void {\n if (subscriberId) {\n // if subscriberId is provided, and it is already subscribed, unsubscribe it first\n this.unsubscribe(subscriberId);\n }\n if (this._subscribedChannels[channelName]) {\n this._subscribedChannels[channelName].push(callback);\n if (subscriberId) {\n this._subscribers[subscriberId] = [\n channelName,\n this._subscribedChannels[channelName].length - 1,\n ];\n }\n return;\n }\n this._subscribedChannels[channelName] = [callback];\n this._clientSubscriber.subscribe(channelName, () => {});\n const self = this;\n this._clientSubscriber.on('message', (channel: string, message: string) => {\n if (channel !== channelName) return;\n // if the message supports the signature\n if (message.indexOf('CND_Signature') !== -1) {\n // if the message does not contain this module's signature\n if (message.indexOf(self._signature) === -1) {\n self._subscribedChannels[channelName].forEach(fn => {\n fn(message.split('CND_Signature:')[0]);\n });\n }\n } else {\n self._subscribedChannels[channelName].forEach(fn => {\n fn(message);\n });\n }\n });\n }\n\n publish(channelName: string, message: string) {\n message = message + `CND_Signature:${this._signature}`;\n this._clientPublisher.publish(channelName, message);\n }\n}\n","import { Cluster, ClusterOptions, Redis, RedisOptions } from 'ioredis';\n\nexport class RedisManager {\n redisConnection:\n | RedisOptions\n | { nodes: { host: string; port: number }[]; options: ClusterOptions };\n\n constructor(\n redisDetails?:\n | RedisOptions\n | { nodes: { host: string; port: number }[]; options: ClusterOptions },\n ) {\n this.redisConnection = {\n ...redisDetails,\n maxRetriesPerRequest: null,\n };\n }\n\n getClient(\n options?:\n | RedisOptions\n | { nodes: { host: string; port: number }[]; options: ClusterOptions },\n ): Redis | Cluster {\n if (this.redisConnection.hasOwnProperty('nodes')) {\n const clusterOptions = this.redisConnection as {\n nodes: { host: string; port: number }[];\n options: ClusterOptions;\n };\n return new Cluster(clusterOptions.nodes, { ...clusterOptions.options });\n } else {\n return new Redis({ ...(this.redisConnection as RedisOptions), ...options });\n }\n }\n}\n","import { RedisManager } from './RedisManager.js';\nimport { Cluster, Redis } from 'ioredis';\nimport { Indexable } from '../interfaces/index.js';\nimport { Redlock, Lock } from '@sesamecare-oss/redlock';\n\nexport enum KNOWN_LOCKS {\n STATE_MODIFICATION = 'state_modification',\n}\n\nexport class StateManager {\n private readonly redisClient: Redis | Cluster;\n private readonly redLock: Redlock;\n\n constructor(redisManager: RedisManager, name: string) {\n this.redisClient = redisManager.getClient({ keyPrefix: name + '_' });\n this.redLock = new Redlock([this.redisClient], {\n // The expected clock drift; for more details see:\n // http://redis.io/topics/distlock\n driftFactor: 0.01, // multiplied by lock ttl to determine drift time\n // The max number of times Redlock will attempt to lock a resource\n // before error.\n retryCount: 10,\n\n // the time in ms between attempts\n retryDelay: 100, // time in ms\n // the max time in ms randomly added to retries\n // to improve performance under high contention\n // see https://www.awsarchitectureblog.com/2015/03/backoff.html\n retryJitter: 200, // time in ms\n // The minimum remaining time on a lock before an extension is automatically\n // attempted with the `using` API.\n automaticExtensionThreshold: 500, // time in ms\n });\n\n process.on('exit', () => {\n this.redisClient.quit();\n });\n }\n\n async acquireLock(resource: string, ttl: number = 5000): Promise<Lock> {\n return await this.redLock.acquire([resource], ttl);\n }\n\n async releaseLock(lock: Lock) {\n await lock.release();\n }\n\n async modifyState(modifier: (state: Indexable) => Promise<Indexable>) {\n const lock = await this.acquireLock(KNOWN_LOCKS.STATE_MODIFICATION);\n try {\n const retrievedState = (await this.getState()) ?? '{}';\n const currentState = JSON.parse(retrievedState);\n const newState = await modifier(currentState);\n await this.setState(JSON.stringify(newState));\n } finally {\n await this.releaseLock(lock);\n }\n }\n\n setState(stateObj: any) {\n return this.setKey('state', stateObj);\n }\n\n getState() {\n return this.getKey('state');\n }\n\n setKey(keyName: string, value: any, expiry?: number) {\n if (expiry) {\n return this.redisClient.set(keyName, value, 'PX', expiry);\n } else {\n return this.redisClient.set(keyName, value);\n }\n }\n\n clearKey(keyName: string) {\n return this.redisClient.del(keyName);\n }\n\n getKey(keyName: string) {\n return this.redisClient.get(keyName);\n }\n}\n","import { allowedTypes, ConduitModel, ConduitValidationRules, TYPE } from './Model.js';\nimport { Indexable } from './Indexable.js';\n\nexport interface ModuleErrorDefinition {\n grpcCode: number;\n conduitCode: string;\n message: string;\n description: string;\n}\n\nexport interface ConduitRouteParameters {\n params?: Indexable;\n path?: string;\n headers: Indexable;\n context?: Indexable;\n cookies?: Indexable;\n bodyParams?: Indexable;\n urlParams?: Indexable;\n queryParams?: Indexable;\n}\n\ntype AllowedTypes = TYPE.String | TYPE.Number | TYPE.Boolean | TYPE.Date | TYPE.ObjectId;\n\nexport type ConduitUrlParam =\n | AllowedTypes\n | { type: AllowedTypes; required?: boolean; validate?: ConduitValidationRules };\nexport type ConduitQueryParam =\n | ConduitUrlParam\n | AllowedTypes[]\n | { type: AllowedTypes[]; required: boolean; validate?: ConduitValidationRules }\n | { type: AllowedTypes; required?: boolean; validate?: ConduitValidationRules }[];\n\nexport type ConduitUrlParams = {\n [field in string]: ConduitUrlParam;\n};\n\nexport type ConduitQueryParams = {\n [field in string]: ConduitQueryParam;\n};\n\nexport type ConduitReturnField =\n | keyof typeof TYPE\n | TYPE\n | ConduitModel\n | {\n [key: string]: TYPE | TYPE[] | ConduitModel | ConduitModel[];\n };\n\nexport type ConduitReturnModel = {\n [field: string]: ConduitReturnField | allowedTypes | allowedTypes[] | string | string[];\n};\n\nexport type ConduitReturn = ConduitReturnField | ConduitReturnModel | string;\n\nexport enum ConduitRouteActions {\n GET = 'GET',\n POST = 'POST',\n UPDATE = 'PUT',\n PATCH = 'PATCH',\n DELETE = 'DELETE',\n}\n\nexport interface RateLimitOptions {\n maxRequests: number;\n /** Window length in seconds */\n resetInterval: number;\n}\n\nexport interface ConduitRouteOptions {\n queryParams?: ConduitQueryParams;\n bodyParams?: ConduitModel;\n urlParams?: ConduitUrlParams;\n action: ConduitRouteActions;\n path: string;\n name?: string;\n description?: string;\n middlewares?: string[];\n cacheControl?: string;\n mcp?: boolean;\n errors?: ModuleErrorDefinition[];\n /**\n * How unknown body/query/url keys are handled during Zod validation:\n * - `true`: reject with USER_INPUT_ERROR (strict mode)\n * - `false`: allow through to the handler (passthrough)\n * - unset: strip unknown keys from validated params (default; prevents pollution without errors)\n */\n strictParams?: boolean;\n /** Per-route rate limit (per client IP). Fails closed if Redis is unavailable. */\n rateLimit?: RateLimitOptions;\n}\n\nexport interface ConduitRouteObject {\n options: ConduitRouteOptions;\n returns: {\n name: string;\n fields: ConduitReturn;\n };\n grpcFunction: string;\n}\n","export enum TYPE {\n String = 'String',\n Number = 'Number',\n Boolean = 'Boolean',\n Date = 'Date',\n ObjectId = 'ObjectId',\n JSON = 'JSON',\n Relation = 'Relation',\n}\n\nexport enum SQLDataType {\n VARCHAR = 'VARCHAR',\n TEXT = 'TEXT',\n CHAR = 'CHAR',\n INT = 'INT',\n BIGINT = 'BIGINT',\n FLOAT = 'FLOAT',\n DOUBLE = 'DOUBLE',\n DECIMAL = 'DECIMAL',\n TIME = 'TIME',\n DATETIME = 'DATETIME',\n TIMESTAMP = 'TIMESTAMP',\n}\n\nexport enum MongoIndexType {\n Ascending = 1,\n Descending = -1,\n GeoSpatial2d = '2d',\n GeoSpatial2dSphere = '2dsphere',\n GeoHaystack = 'geoHaystack',\n Hashed = 'hashed',\n Text = 'text',\n}\n\nexport enum PostgresIndexType {\n BTREE = 'BTREE',\n HASH = 'HASH',\n GIST = 'GIST',\n SPGIST = 'SPGIST',\n GIN = 'GIN',\n BRIN = 'BRIN',\n}\n\nexport type Array = any[];\n\nexport interface ConduitStringValidation {\n format?: 'email' | 'url' | 'uuid' | 'objectId';\n minLength?: number;\n maxLength?: number;\n length?: number;\n pattern?: string;\n /** Custom error text when any string validation rule fails (REST/GraphQL/MCP). */\n message?: string;\n}\n\nexport interface ConduitNumberValidation {\n min?: number;\n max?: number;\n exclusiveMin?: number;\n exclusiveMax?: number;\n integer?: boolean;\n /** Custom error text when any number validation rule fails (REST/GraphQL/MCP). */\n message?: string;\n}\n\nexport interface ConduitArrayValidation {\n minItems?: number;\n maxItems?: number;\n /** Custom error text when minItems/maxItems validation fails (REST/GraphQL/MCP). */\n message?: string;\n}\n\nexport type ConduitValidationRules =\n | ConduitStringValidation\n | ConduitNumberValidation\n | ConduitArrayValidation;\n\ntype BaseConduitModelField = {\n type?: TYPE | TYPE[] | ConduitModel | ArrayConduitModel[];\n sqlType?: SQLDataType;\n default?: any;\n description?: string;\n required?: boolean;\n select?: boolean;\n validate?: ConduitValidationRules;\n};\n\ntype UniqueAndRequiredField = {\n unique: true;\n required: true;\n index?: SchemaFieldIndex;\n};\n\ntype NotUniqueField = {\n unique?: false;\n required?: boolean;\n index?: SchemaFieldIndex;\n};\n\nexport type BasicConduitModelField = BaseConduitModelField &\n (UniqueAndRequiredField | NotUniqueField);\n\nexport type ConduitModelFieldRelation = BasicConduitModelField & {\n type: TYPE.Relation | TYPE.Relation[];\n model: string;\n};\n\nexport type ConduitModelFieldJSON = BasicConduitModelField & {\n type: TYPE.JSON | TYPE.JSON[];\n};\n\nexport type ConduitModelFieldEnum = BasicConduitModelField & {\n type: ExcludeJSONRelation<TYPE> | ExcludeJSONRelation<TYPE>[];\n enum: any;\n};\n\nexport type ConduitModelField = BasicConduitModelField & {\n type?:\n | ExcludeJSONRelation<TYPE>\n | ExcludeJSONRelation<TYPE>[]\n | ConduitModel\n | ArrayConduitModel[];\n};\n\nexport type allowedTypes =\n | ExcludeRelation<TYPE>\n | ConduitModelField\n | ConduitModelFieldEnum\n | ConduitModelFieldJSON\n | ConduitModelFieldRelation;\n\ntype embeddableArray =\n | ExcludeRelation<TYPE>\n | ConduitModelField\n | ConduitModelFieldEnum\n | ConduitModelFieldJSON;\n\ntype ExcludeRelation<T> = T extends TYPE.Relation ? never : T;\ntype ExcludeJSON<T> = T extends TYPE.JSON ? never : T;\ntype ExcludeJSONRelation<T> = ExcludeJSON<ExcludeRelation<T>>;\n\nexport type ArrayConduitModel = {\n // block special keywords\n type?: never;\n sqlType?: never;\n default?: never;\n description?: never;\n required?: never;\n select?: never;\n unique?: never;\n index?: never;\n enum?: never;\n model?: never;\n} & {\n [field in string]: embeddableArray | embeddableArray[];\n};\nexport type ConduitModel = {\n // block special keywords\n type?: never;\n sqlType?: never;\n default?: never;\n description?: never;\n required?: never;\n select?: never;\n unique?: never;\n index?: never;\n enum?: never;\n model?: never;\n} & {\n [field in string]: allowedTypes | allowedTypes[] | ConduitModel;\n};\n\nexport const ConduitModelOptionsPermModifyType = [\n 'Everything',\n 'Nothing',\n 'ExtensionOnly',\n];\n\nexport interface ConduitSchemaOptions {\n timestamps?: boolean;\n _id?: boolean;\n conduit?: {\n [field: string]: any;\n permissions?: {\n extendable: boolean;\n canCreate: boolean;\n canModify: 'Everything' | 'Nothing' | 'ExtensionOnly';\n canDelete: boolean;\n };\n authorization?: {\n enabled: boolean;\n };\n /** Mongoose read preference for this schema (ignored by SQL); per-query wins. */\n readPreference?: string;\n };\n /** Includes readonly/const-asserted index arrays (e.g. `as const` in schema definitions). */\n indexes?: ReadonlyArray<ModelOptionsIndexes>;\n}\n\nexport interface SchemaFieldIndex {\n type?: MongoIndexType | PostgresIndexType;\n options?: MongoIndexOptions | PostgresIndexOptions;\n\n [field: string]: any;\n}\n\nexport interface ModelOptionsIndexes {\n fields: string[] | readonly string[];\n types?: MongoIndexType[] | PostgresIndexType;\n options?: MongoIndexOptions | PostgresIndexOptions;\n\n [field: string]: any;\n}\n\nexport interface MongoIndexOptions {\n background?: boolean;\n unique?: boolean;\n name?: string;\n partialFilterExpression?: Document;\n sparse?: boolean;\n expireAfterSeconds?: number;\n storageEngine?: Document;\n commitQuorum?: number | string;\n version?: number;\n weights?: Document;\n default_language?: string;\n language_override?: string;\n textIndexVersion?: number;\n '2dsphereIndexVersion'?: number;\n bits?: number;\n min?: number;\n max?: number;\n bucketSize?: number;\n wildcardProjection?: Document;\n hidden?: boolean;\n}\n\nexport interface PostgresIndexOptions {\n concurrently?: boolean;\n name?: string;\n operator?: string;\n parser?: null | string;\n prefix?: string;\n unique?: boolean;\n using?: PostgresIndexType;\n where?: {\n [opt: string]: any;\n };\n}\n","import { ConduitReturn } from './Route.js';\n\n/**\n * Supports:\n * {\n * name: 'String',\n * age: 'Number\n * ....\n * }\n *\n * or\n *\n * {\n * name: {\n * type: 'String',\n * required: true\n * },\n * age: 'Number'\n * }\n *\n * or\n *\n * {\n * user: {\n * username: 'String',\n * age: {\n * type: 'Number',\n * required: true\n * }\n * }\n * }\n *\n * or\n *\n * {\n * user:{\n * friends: ['String'],\n * post: [{type: 'String', required:trues}]\n * }\n * }\n *\n */\nexport class ConduitRouteReturnDefinition {\n private readonly _name: string;\n private readonly _fields: ConduitReturn; // object definition or well-known* type as a string\n\n // Well-known types include:\n // - TYPE enum values\n // - explicitly registered route return type names\n // - registered database schema types\n\n constructor(name: string, fields?: ConduitReturn) {\n this._name = name;\n // TODO:\n // Defaulting to named schema types should throw on \"reserved\" base types (throw on Hermes-side also).\n // eg TYPE enum values ('String', 'Relation' etc), reserved GraphQL types etc\n // Database should also prohibit these names from being used as schema names\n this._fields = fields ?? name;\n }\n\n get name(): string {\n return this._name;\n }\n\n get fields(): ConduitReturn {\n return this._fields;\n }\n}\n","export enum PlatformTypesEnum {\n WEB = 'WEB',\n ANDROID = 'ANDROID',\n IOS = 'IOS',\n IPADOS = 'IPADOS',\n WINDOWS = 'WINDOWS',\n MACOS = 'MACOS',\n LINUX = 'LINUX',\n CLI = 'CLI',\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,IAAM,eAAN,MA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","names":["status","import_nice_grpc","import_nice_grpc","import_wire","ValidateAccessTokenResponse_Status","import_wire","ResourceModificationAcknowledgement_Status","isSet","import_wire","isSet","import_wire","isSet","import_wire","isSet","import_wire","isSet","import_wire","HealthCheckResponse_ServingStatus","isSet","import_wire","isSet","import_wire","isSet","import_wire","isSet","import_nice_grpc","status","import_lodash_es","import_events","HealthCheckStatus","MetricType","import_lodash_es","import_crypto","fs","crypto","ConduitRouteActions","TYPE","SQLDataType","MongoIndexType","PostgresIndexType","PlatformTypesEnum","crypto"]}