@openremote/rest 1.28.0 → 1.28.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["webpack://ORRest/webpack/runtime/compat_get_default_export","webpack://ORRest/webpack/runtime/define_property_getters","webpack://ORRest/webpack/runtime/has_own_property","webpack://ORRest/webpack/runtime/make_namespace_object","webpack://ORRest/./src/restclient.ts","webpack://ORRest/./src/index.ts"],"sourcesContent":["// getDefaultExport function for compatibility with non-ESM modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/* tslint:disable */\n/* eslint-disable */\n// Generated using typescript-generator version 4.1.1 on 2026-07-29 13:54:38.\n\nimport * as Model from \"@openremote/model\";\n\nexport interface HttpClient<O> {\n\n request<R>(requestConfig: { method: string; url: string; queryParams?: any; data?: any; copyFn?: (data: R) => R; options?: O; }): RestResponse<R>;\n}\n\nexport class AssetModelResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Returns the descriptors used to construct supported asset types, using a gateway model when the optional parent context resolves below a gateway.\n * HTTP GET /model/assetDescriptors\n * Java method: org.openremote.model.asset.AssetModelResource.getAssetDescriptors\n */\n getAssetDescriptors(queryParams?: { parentId?: string; parentType?: string; }, options?: O): RestResponse<Model.AssetDescriptor[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`model/assetDescriptors`, queryParams: queryParams, options: options });\n }\n\n /**\n * Returns metadata for one asset type from this Manager or, when parentId is below a gateway, from that gateway's model. An unknown or gateway-provided type that is not locally available returns no content.\n * Response code 204 - No model information is available for the requested asset type\n * HTTP GET /model/assetInfo/{assetType}\n * Java method: org.openremote.model.asset.AssetModelResource.getAssetInfo\n */\n getAssetInfo(assetType: string, queryParams?: { parentId?: string; }, options?: O): RestResponse<Model.AssetTypeInfo> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`model/assetInfo/${assetType}`, queryParams: queryParams, options: options });\n }\n\n /**\n * Returns type metadata from this Manager by default. When parentId identifies an asset below a gateway, the gateway's model is used instead; parentType can provide type context for a new parent that does not yet exist.\n * HTTP GET /model/assetInfos\n * Java method: org.openremote.model.asset.AssetModelResource.getAssetInfos\n */\n getAssetInfos(queryParams?: { parentId?: string; parentType?: string; }, options?: O): RestResponse<Model.AssetTypeInfo[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`model/assetInfos`, queryParams: queryParams, options: options });\n }\n\n /**\n * Returns the JSON Schema and a weak ETag for the named value descriptor. Send If-None-Match on later requests to receive 304 when the schema has not changed.\n * Response code 200 - The current JSON Schema\n * Response code 304 - The supplied ETag still identifies the current schema\n * HTTP GET /model/getValueDescriptorSchema\n * Java method: org.openremote.model.asset.AssetModelResource.getValueDescriptorSchema\n */\n getValueDescriptorSchema(queryParams?: { name?: string; }, options?: O): RestResponse<any> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`model/getValueDescriptorSchema`, queryParams: queryParams, options: options });\n }\n\n /**\n * Returns attribute metadata descriptors keyed by descriptor name, using a gateway model when parentId resolves below a gateway.\n * HTTP GET /model/metaItemDescriptors\n * Java method: org.openremote.model.asset.AssetModelResource.getMetaItemDescriptors\n */\n getMetaItemDescriptors(queryParams?: { parentId?: string; }, options?: O): RestResponse<{ [index: string]: Model.MetaItemDescriptor }> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`model/metaItemDescriptors`, queryParams: queryParams, options: options });\n }\n\n /**\n * Returns attribute value descriptors keyed by descriptor name, using a gateway model when parentId resolves below a gateway.\n * HTTP GET /model/valueDescriptors\n * Java method: org.openremote.model.asset.AssetModelResource.getValueDescriptors\n */\n getValueDescriptors(queryParams?: { parentId?: string; }, options?: O): RestResponse<{ [index: string]: Model.ValueDescriptor }> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`model/valueDescriptors`, queryParams: queryParams, options: options });\n }\n}\n\nexport class AppResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Returns the identifiers of applications installed in the Manager web root.\n * HTTP GET /apps\n * Java method: org.openremote.model.apps.AppResource.getApps\n */\n getApps(options?: O): RestResponse<string[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`apps`, options: options });\n }\n\n /**\n * Loads the public console_config.json document used to configure console clients before sign-in.\n * HTTP GET /apps/consoleConfig\n * Java method: org.openremote.model.apps.AppResource.getConsoleConfig\n */\n getConsoleConfig(options?: O): RestResponse<any> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`apps/consoleConfig`, options: options });\n }\n\n /**\n * Loads each installed application's info.json file and returns the documents keyed by application identifier.\n * HTTP GET /apps/info\n * Java method: org.openremote.model.apps.AppResource.getAppInfos\n */\n getAppInfos(options?: O): RestResponse<{ [index: string]: any }> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`apps/info`, options: options });\n }\n}\n\nexport class RealmResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Creates and configures a realm in the identity provider. This operation is restricted to a super user.\n * HTTP POST /realm\n * Java method: org.openremote.model.security.RealmResource.create\n */\n create(realm: Model.Realm, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`realm`, data: realm, options: options });\n }\n\n /**\n * Returns complete realm records from the identity provider. This operation is restricted to a super user.\n * HTTP GET /realm\n * Java method: org.openremote.model.security.RealmResource.getAll\n */\n getAll(options?: O): RestResponse<Model.Realm[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`realm`, options: options });\n }\n\n /**\n * Returns only realm name and display name. Super users receive all realms; authenticated users receive their realm; anonymous callers receive the request realm.\n * HTTP GET /realm/accessible\n * Java method: org.openremote.model.security.RealmResource.getAccessible\n */\n getAccessible(options?: O): RestResponse<Model.Realm[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`realm/accessible`, options: options });\n }\n\n /**\n * Permanently deletes a realm from the identity provider. The master realm cannot be deleted; related Manager data is not automatically removed.\n * Response code 405 - The master realm cannot be deleted\n * HTTP DELETE /realm/{name}\n * Java method: org.openremote.model.security.RealmResource.delete\n */\n delete(name: string, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`realm/${name}`, options: options });\n }\n\n /**\n * Returns complete details for a named active realm when it is accessible to the caller. Regular users cannot use this endpoint to inspect other realms.\n * HTTP GET /realm/{name}\n * Java method: org.openremote.model.security.RealmResource.get\n */\n get(name: string, options?: O): RestResponse<Model.Realm> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`realm/${name}`, options: options });\n }\n\n /**\n * Updates a realm through the identity provider. Super-user access is required; the master realm cannot be renamed or disabled.\n * Response code 405 - The requested mutation is not allowed for the master realm\n * HTTP PUT /realm/{name}\n * Java method: org.openremote.model.security.RealmResource.update\n */\n update(name: string, realm: Model.Realm, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`realm/${name}`, data: realm, options: options });\n }\n}\n\nexport class FlowResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Returns every supported flow node definition except the internal LOG_OUTPUT node.\n * HTTP GET /flow\n * Java method: org.openremote.model.rules.flow.FlowResource.getAllNodeDefinitions\n */\n getAllNodeDefinitions(options?: O): RestResponse<Model.Node[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`flow`, options: options });\n }\n\n /**\n * Resolves one flow node definition by its model name.\n * HTTP GET /flow/{name}\n * Java method: org.openremote.model.rules.flow.FlowResource.getNodeDefinition\n */\n getNodeDefinition(name: string, options?: O): RestResponse<Model.Node> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`flow/${name}`, options: options });\n }\n\n /**\n * Returns supported flow node definitions whose category matches the requested node type.\n * HTTP GET /flow/{type}\n * Java method: org.openremote.model.rules.flow.FlowResource.getAllNodeDefinitionsByType\n */\n getAllNodeDefinitionsByType(type: Model.NodeType, options?: O): RestResponse<Model.Node[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`flow/${type}`, options: options });\n }\n}\n\nexport class ProvisioningResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Persists a new provisioning configuration and returns its generated numeric identifier. This operation is restricted to a super administrator.\n * HTTP POST /provisioning\n * Java method: org.openremote.model.provisioning.ProvisioningResource.createProvisioningConfig\n */\n createProvisioningConfig(provisioningConfig: Model.ProvisioningConfigUnion<any, any>, options?: O): RestResponse<number> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`provisioning`, data: provisioningConfig, options: options });\n }\n\n /**\n * Returns every provisioning configuration. This operation is restricted to a super administrator.\n * HTTP GET /provisioning\n * Java method: org.openremote.model.provisioning.ProvisioningResource.getProvisioningConfigs\n */\n getProvisioningConfigs(options?: O): RestResponse<Model.ProvisioningConfigUnion<any, any>[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`provisioning`, options: options });\n }\n\n /**\n * Permanently removes the provisioning configuration identified by the path. This operation is restricted to a super administrator.\n * HTTP DELETE /provisioning/{id}\n * Java method: org.openremote.model.provisioning.ProvisioningResource.deleteProvisioningConfig\n */\n deleteProvisioningConfig(id: number, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`provisioning/${id}`, options: options });\n }\n\n /**\n * Replaces the provisioning configuration identified by the path. This operation is restricted to a super administrator.\n * HTTP PUT /provisioning/{id}\n * Java method: org.openremote.model.provisioning.ProvisioningResource.updateProvisioningConfig\n */\n updateProvisioningConfig(id: number, provisioningConfig: Model.ProvisioningConfigUnion<any, any>, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`provisioning/${id}`, data: provisioningConfig, options: options });\n }\n}\n\nexport class GatewayClientResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Removes connections for all repeated realm query parameters. Deleting multiple realms is restricted to super users.\n * HTTP DELETE /gateway/connection\n * Java method: org.openremote.model.gateway.GatewayClientResource.deleteConnections\n */\n deleteConnections(queryParams?: { realm?: string[]; }, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`gateway/connection`, queryParams: queryParams, options: options });\n }\n\n /**\n * Returns every configured central-manager connection. Unlike the single-realm endpoint, this operation is restricted to super users.\n * HTTP GET /gateway/connection\n * Java method: org.openremote.model.gateway.GatewayClientResource.getConnections\n */\n getConnections(options?: O): RestResponse<Model.GatewayConnection[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`gateway/connection`, options: options });\n }\n\n /**\n * Removes the central-manager connection for one realm. Realm administrators can remove their own connection; super users can remove any connection.\n * HTTP DELETE /gateway/connection/{realm}\n * Java method: org.openremote.model.gateway.GatewayClientResource.deleteConnection\n */\n deleteConnection(realm: string, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`gateway/connection/${realm}`, options: options });\n }\n\n /**\n * Returns the central-manager connection configured for a realm, or null when none exists. Realm administrators can read their own realm; super users can read any realm.\n * Response code 204 - No gateway connection is configured for the realm\n * HTTP GET /gateway/connection/{realm}\n * Java method: org.openremote.model.gateway.GatewayClientResource.getConnection\n */\n getConnection(realm: string, options?: O): RestResponse<Model.GatewayConnection> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`gateway/connection/${realm}`, options: options });\n }\n\n /**\n * Creates or replaces the connection for the path realm. The server forces the local realm, including realm predicates in attribute filters, to match the path.\n * HTTP PUT /gateway/connection/{realm}\n * Java method: org.openremote.model.gateway.GatewayClientResource.setConnection\n */\n setConnection(realm: string, connection: Model.GatewayConnection, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`gateway/connection/${realm}`, data: connection, options: options });\n }\n\n /**\n * Returns the live connection state for the requested local realm.\n * HTTP GET /gateway/status/{realm}\n * Java method: org.openremote.model.gateway.GatewayClientResource.getConnectionStatus\n */\n getConnectionStatus(realm: string, options?: O): RestResponse<Model.ConnectionStatus> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`gateway/status/${realm}`, options: options });\n }\n}\n\nexport class GatewayServiceResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Requests a TCP tunnel through a connected gateway and returns its allocated local endpoint. When realm is omitted, the authenticated realm is used.\n * Response code 417 - The gateway could not establish the requested tunnel\n * HTTP POST /gateway/tunnel\n * Java method: org.openremote.model.gateway.GatewayServiceResource.startTunnel\n */\n startTunnel(tunnelInfo: Model.GatewayTunnelInfo, options?: O): RestResponse<Model.GatewayTunnelInfo> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`gateway/tunnel`, data: tunnelInfo, options: options });\n }\n\n /**\n * Stops the tunnel identified by the supplied gateway, target, and port information. When realm is omitted, the authenticated realm is used.\n * HTTP DELETE /gateway/tunnel\n * Java method: org.openremote.model.gateway.GatewayServiceResource.stopTunnel\n */\n stopTunnel(tunnelInfo: Model.GatewayTunnelInfo, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`gateway/tunnel`, data: tunnelInfo, options: options });\n }\n\n /**\n * Returns active tunnels for all gateway assets in the requested realm. Restricted users cannot list an entire realm.\n * HTTP GET /gateway/tunnel/{realm}\n * Java method: org.openremote.model.gateway.GatewayServiceResource.getAllActiveTunnelInfos\n */\n getAllActiveTunnelInfos(realm: string, options?: O): RestResponse<Model.GatewayTunnelInfo[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`gateway/tunnel/${realm}`, options: options });\n }\n\n /**\n * Returns active tunnels for one gateway asset. Restricted users may query only a linked gateway.\n * HTTP GET /gateway/tunnel/{realm}/{id}\n * Java method: org.openremote.model.gateway.GatewayServiceResource.getGatewayActiveTunnelInfos\n */\n getGatewayActiveTunnelInfos(realm: string, id: string, options?: O): RestResponse<Model.GatewayTunnelInfo[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`gateway/tunnel/${realm}/${id}`, options: options });\n }\n\n /**\n * Returns the tunnel matching realm, gateway, target host, and target port, or null when no active tunnel matches.\n * Response code 204 - No active tunnel matches the requested endpoint\n * HTTP GET /gateway/tunnel/{realm}/{id}/{target}/{targetPort}\n * Java method: org.openremote.model.gateway.GatewayServiceResource.getActiveTunnelInfo\n */\n getActiveTunnelInfo(realm: string, id: string, target: string, targetPort: number, options?: O): RestResponse<Model.GatewayTunnelInfo> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`gateway/tunnel/${realm}/${id}/${target}/${targetPort}`, options: options });\n }\n}\n\nexport class ConsoleResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Creates an anonymous console registration when id is absent, or updates an existing registration when id is present. Authenticated new registrations are linked to the caller; updates require that link. The returned registration contains the durable asset ID for later calls.\n * HTTP POST /console/register\n * Java method: org.openremote.model.console.ConsoleResource.register\n */\n register(consoleRegistration: Model.ConsoleRegistration, options?: O): RestResponse<Model.ConsoleRegistration> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`console/register`, data: consoleRegistration, options: options });\n }\n}\n\nexport class ConfigurationResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Returns the public Manager application configuration used by clients before and after authentication.\n * HTTP GET /configuration/manager\n * Java method: org.openremote.model.manager.ConfigurationResource.getManagerConfig\n */\n getManagerConfig(options?: O): RestResponse<Model.ManagerAppConfig> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`configuration/manager`, options: options });\n }\n\n /**\n * Replaces manager_config.json and returns the stored configuration. This administrative change affects Manager UI branding and behavior.\n * HTTP PUT /configuration/manager\n * Java method: org.openremote.model.manager.ConfigurationResource.update\n */\n update(managerConfiguration: Model.ManagerAppConfig, options?: O): RestResponse<Model.ManagerAppConfig> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`configuration/manager`, data: managerConfiguration, options: options });\n }\n\n /**\n * Decodes and stores the supplied FileInfo under the requested relative path, then returns its Manager API path.\n * HTTP POST /configuration/manager/file\n * Java method: org.openremote.model.manager.ConfigurationResource.fileUpload\n */\n fileUpload(fileInfo: Model.FileInfo, queryParams?: { path?: string; }, options?: O): RestResponse<string> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`configuration/manager/file`, queryParams: queryParams, data: fileInfo, options: options });\n }\n\n /**\n * Streams a previously uploaded configuration image using its detected media type.\n * Response code 200 - The image file\n * HTTP GET /configuration/manager/image/{filename: .+}\n * Java method: org.openremote.model.manager.ConfigurationResource.getManagerConfigImage\n */\n getManagerConfigImage(filename: string, options?: O): RestResponse<any> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`configuration/manager/image/${filename}`, options: options });\n }\n}\n\nexport class ExternalServiceResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Returns all active realm-scoped service registrations for an active realm accessible to the caller.\n * Response code 200 - List of registered external services\n * HTTP GET /service\n * Java method: org.openremote.model.services.ExternalServiceResource.getServices\n */\n getServices(queryParams?: { realm?: string; }, options?: O): RestResponse<Model.ExternalService[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`service`, queryParams: queryParams, options: options });\n }\n\n /**\n * Registers a realm-scoped service instance for the request realm. The caller must be a service account; the returned object contains the assigned instance ID and initial lease state.\n * Response code 200 - Service registered successfully\n * Response code 400 - Invalid external service object\n * Response code 409 - ExternalService instance already registered\n * HTTP POST /service\n * Java method: org.openremote.model.services.ExternalServiceResource.registerService\n */\n registerService(service: Model.ExternalService, options?: O): RestResponse<Model.ExternalService> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`service`, data: service, options: options });\n }\n\n /**\n * Returns active registrations marked as globally available across realms.\n * Response code 200 - List of registered external services\n * HTTP GET /service/global\n * Java method: org.openremote.model.services.ExternalServiceResource.getGlobalServices\n */\n getGlobalServices(options?: O): RestResponse<Model.ExternalService[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`service/global`, options: options });\n }\n\n /**\n * Registers a service visible in every realm. The caller must be a super-user service account and the request must use the master realm.\n * Response code 200 - Service registered successfully\n * Response code 400 - Invalid external service object\n * Response code 409 - ExternalService instance already registered\n * HTTP POST /service/global\n * Java method: org.openremote.model.services.ExternalServiceResource.registerGlobalService\n */\n registerGlobalService(service: Model.ExternalService, options?: O): RestResponse<Model.ExternalService> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`service/global`, data: service, options: options });\n }\n\n /**\n * Removes an active service registration. The caller must be the service account that registered it; global-service removal additionally requires a super user.\n * Response code 204 - Service deregistered successfully\n * Response code 404 - Service instance not found\n * HTTP DELETE /service/{serviceId}/{instanceId}\n * Java method: org.openremote.model.services.ExternalServiceResource.deregisterService\n */\n deregisterService(serviceId: string, instanceId: number, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`service/${serviceId}/${instanceId}`, options: options });\n }\n\n /**\n * Returns one registered instance by stable service ID and numeric instance ID, after verifying access to the service's realm.\n * Response code 200 - ExternalService retrieved successfully\n * Response code 404 - ExternalService not found\n * HTTP GET /service/{serviceId}/{instanceId}\n * Java method: org.openremote.model.services.ExternalServiceResource.getService\n */\n getService(serviceId: string, instanceId: number, options?: O): RestResponse<Model.ExternalService> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`service/${serviceId}/${instanceId}`, options: options });\n }\n\n /**\n * Extends the lease of one service instance. The caller must be the service account that registered it; global-service heartbeats additionally require a super user.\n * Response code 204 - Heartbeat sent successfully\n * Response code 404 - Service instance not found\n * HTTP PUT /service/{serviceId}/{instanceId}\n * Java method: org.openremote.model.services.ExternalServiceResource.heartbeat\n */\n heartbeat(serviceId: string, instanceId: number, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`service/${serviceId}/${instanceId}`, options: options });\n }\n}\n\nexport class SyslogResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Returns the current log-storage and retention configuration.\n * HTTP GET /syslog/config\n * Java method: org.openremote.model.syslog.SyslogResource.getConfig\n */\n getConfig(options?: O): RestResponse<Model.SyslogConfig> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`syslog/config`, options: options });\n }\n\n /**\n * Validates and applies log-storage and retention settings.\n * HTTP PUT /syslog/config\n * Java method: org.openremote.model.syslog.SyslogResource.updateConfig\n */\n updateConfig(config: Model.SyslogConfig, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`syslog/config`, data: config, options: options });\n }\n\n /**\n * Permanently removes all events from the configured syslog storage.\n * HTTP DELETE /syslog/event\n * Java method: org.openremote.model.syslog.SyslogResource.clearEvents\n */\n clearEvents(options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`syslog/event`, options: options });\n }\n\n /**\n * Returns a page of log events filtered by severity, Unix-millisecond time range, categories, and subcategories. RFC 8288 Link headers point to the next and last pages.\n * Response code 200 - The requested page of syslog events\n * HTTP GET /syslog/event\n * Java method: org.openremote.model.syslog.SyslogResource.getEvents\n */\n getEvents(queryParams?: { level?: Model.SyslogLevel; per_page?: number; page?: number; from?: number; to?: number; category?: Model.SyslogCategory[]; subCategory?: string[]; }, options?: O): RestResponse<any> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`syslog/event`, queryParams: queryParams, options: options });\n }\n}\n\nexport class DashboardResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Creates a dashboard in an accessible realm. The server assigns the authenticated user as owner and initially stores the dashboard with shared access.\n * HTTP POST /dashboard\n * Java method: org.openremote.model.dashboard.DashboardResource.create\n */\n create(dashboard: Model.Dashboard, options?: O): RestResponse<Model.Dashboard> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`dashboard`, data: dashboard, options: options });\n }\n\n /**\n * Updates an existing dashboard when the authenticated user can modify it in the dashboard's realm.\n * HTTP PUT /dashboard\n * Java method: org.openremote.model.dashboard.DashboardResource.update\n */\n update(dashboard: Model.Dashboard, options?: O): RestResponse<Model.Dashboard> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`dashboard`, data: dashboard, options: options });\n }\n\n /**\n * Returns dashboards visible to the caller in the requested realm. Anonymous callers receive public dashboards only; authenticated access also depends on roles, ownership, and linked assets.\n * HTTP GET /dashboard/all/{realm}\n * Java method: org.openremote.model.dashboard.DashboardResource.getAllRealmDashboards\n */\n getAllRealmDashboards(realm: string, options?: O): RestResponse<Model.Dashboard[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`dashboard/all/${realm}`, options: options });\n }\n\n /**\n * Executes a dashboard query after constraining it to the caller's realm, roles, ownership, and asset access. A missing body uses the request realm and default visibility rules.\n * HTTP POST /dashboard/query\n * Java method: org.openremote.model.dashboard.DashboardResource.query\n */\n query(dashboardQuery: Model.DashboardQuery, options?: O): RestResponse<Model.Dashboard[]> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`dashboard/query`, data: dashboardQuery, options: options });\n }\n\n /**\n * Permanently removes a dashboard when the authenticated user can modify it in the requested realm.\n * HTTP DELETE /dashboard/{realm}/{dashboardId}\n * Java method: org.openremote.model.dashboard.DashboardResource.delete\n */\n delete(realm: string, dashboardId: string, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`dashboard/${realm}/${dashboardId}`, options: options });\n }\n\n /**\n * Returns one dashboard only when it is visible to the caller. Inaccessible and nonexistent dashboards both return 404 to avoid disclosing their existence.\n * HTTP GET /dashboard/{realm}/{dashboardId}\n * Java method: org.openremote.model.dashboard.DashboardResource.get\n */\n get(realm: string, dashboardId: string, options?: O): RestResponse<Model.Dashboard> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`dashboard/${realm}/${dashboardId}`, options: options });\n }\n}\n\nexport class AssetResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Creates an asset in an accessible realm and returns the persisted representation. The server generates an ID when absent; supplied IDs must be globally unique and 22 characters long.\n * HTTP POST /asset\n * Java method: org.openremote.model.asset.AssetResource.create\n */\n create(asset: Model.Asset, options?: O): RestResponse<Model.Asset> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`asset`, data: asset, options: options });\n }\n\n /**\n * Permanently deletes every asset identified by repeated assetId query parameters, subject to realm and restricted-user access rules.\n * HTTP DELETE /asset\n * Java method: org.openremote.model.asset.AssetResource.delete\n */\n delete(queryParams?: { assetId?: string[]; }, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`asset`, queryParams: queryParams, options: options });\n }\n\n /**\n * Submits a batch of attribute states using current server time and returns one result per input item. Authorization and processing failures are encoded in each AttributeWriteResult rather than returned as an HTTP error.\n * HTTP PUT /asset/attributes\n * Java method: org.openremote.model.asset.AssetResource.writeAttributeValues\n */\n writeAttributeValues(attributeStates: Model.AttributeState[], options?: O): RestResponse<Model.AttributeWriteResult[]> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`asset/attributes`, data: attributeStates, options: options });\n }\n\n /**\n * Submits a batch of complete attribute events and returns one result per input item. Supplied timestamps are preserved; authorization and processing failures are encoded per result rather than returned as an HTTP error.\n * HTTP PUT /asset/attributes/timestamp\n * Java method: org.openremote.model.asset.AssetResource.writeAttributeEvents\n */\n writeAttributeEvents(attributeEvents: Model.AttributeEvent[], options?: O): RestResponse<Model.AttributeWriteResult[]> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`asset/attributes/timestamp`, data: attributeEvents, options: options });\n }\n\n /**\n * Returns only the number of assets matching an AssetQuery after applying the caller's realm, public, and linked-asset access constraints.\n * HTTP POST /asset/count\n * Java method: org.openremote.model.asset.AssetResource.queryCount\n */\n queryCount(query: Model.AssetQuery, options?: O): RestResponse<number> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`asset/count`, data: query, options: options });\n }\n\n /**\n * Clears the parent reference of every asset listed in repeated assetIds query parameters.\n * HTTP DELETE /asset/parent\n * Java method: org.openremote.model.asset.AssetResource.updateNoneParent\n */\n updateNoneParent(queryParams?: { assetIds?: string[]; }, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`asset/parent`, queryParams: queryParams, options: options });\n }\n\n /**\n * Returns the asset identity and properties without loading attributes or path data. The same access rules as getAsset apply.\n * HTTP GET /asset/partial/{assetId}\n * Java method: org.openremote.model.asset.AssetResource.getPartial\n */\n getPartial(assetId: string, options?: O): RestResponse<Model.Asset> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`asset/partial/${assetId}`, options: options });\n }\n\n /**\n * Executes an AssetQuery after constraining realm and linked-asset access. Anonymous callers receive public-readable assets only; the query select clause controls which fields are populated.\n * HTTP POST /asset/query\n * Java method: org.openremote.model.asset.AssetResource.queryAssets\n */\n queryAssets(query: Model.AssetQuery, options?: O): RestResponse<Model.Asset[]> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`asset/query`, data: query, options: options });\n }\n\n /**\n * Applies the same authorization and selection rules as queryAssets, then returns a hierarchy optimized for tree display rather than a flat asset array.\n * HTTP POST /asset/tree\n * Java method: org.openremote.model.asset.AssetResource.queryAssetTree\n */\n queryAssetTree(query: Model.AssetQuery, options?: O): RestResponse<Model.AssetTree> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`asset/tree`, data: query, options: options });\n }\n\n /**\n * Returns partial linked assets for a restricted user, root assets for an unrestricted realm user, and an empty array for a super user. Attributes and paths are omitted; use getAsset for full details.\n * HTTP GET /asset/user/current\n * Java method: org.openremote.model.asset.AssetResource.getCurrentUserAssets\n */\n getCurrentUserAssets(options?: O): RestResponse<Model.Asset[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`asset/user/current`, options: options });\n }\n\n /**\n * Creates all supplied links as one operation. Every item must identify the same realm and user, and every referenced realm, user, and asset must exist.\n * HTTP POST /asset/user/link\n * Java method: org.openremote.model.asset.AssetResource.createUserAssetLinks\n */\n createUserAssetLinks(userAssets: Model.UserAssetLink[], options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`asset/user/link`, data: userAssets, options: options });\n }\n\n /**\n * Returns user-asset links in the required realm, optionally filtered by userId and assetId. Missing users or assets produce an empty result; restricted users cannot call this operation.\n * HTTP GET /asset/user/link\n * Java method: org.openremote.model.asset.AssetResource.getUserAssetLinks\n */\n getUserAssetLinks(queryParams?: { realm?: string; userId?: string; assetId?: string; }, options?: O): RestResponse<Model.UserAssetLink[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`asset/user/link`, queryParams: queryParams, options: options });\n }\n\n /**\n * Removes all supplied links. Every item must identify the same realm and user.\n * HTTP POST /asset/user/link/delete\n * Java method: org.openremote.model.asset.AssetResource.deleteUserAssetLinks\n */\n deleteUserAssetLinks(userAssets: Model.UserAssetLink[], options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`asset/user/link/delete`, data: userAssets, options: options });\n }\n\n /**\n * Removes every asset link belonging to the user in the requested realm.\n * HTTP DELETE /asset/user/link/{realm}/{userId}\n * Java method: org.openremote.model.asset.AssetResource.deleteAllUserAssetLinks\n */\n deleteAllUserAssetLinks(realm: string, userId: string, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`asset/user/link/${realm}/${userId}`, options: options });\n }\n\n /**\n * Removes the link identified by realm, user, and asset. The caller must be allowed to administer asset links in that realm.\n * HTTP DELETE /asset/user/link/{realm}/{userId}/{assetId}\n * Java method: org.openremote.model.asset.AssetResource.deleteUserAssetLink\n */\n deleteUserAssetLink(realm: string, userId: string, assetId: string, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`asset/user/link/${realm}/${userId}/${assetId}`, options: options });\n }\n\n /**\n * Returns a fully loaded asset including its path and attributes. Access is constrained to the caller's realm and, for restricted users, linked assets.\n * HTTP GET /asset/{assetId}\n * Java method: org.openremote.model.asset.AssetResource.get\n */\n get(assetId: string, options?: O): RestResponse<Model.Asset> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`asset/${assetId}`, options: options });\n }\n\n /**\n * Replaces mutable asset data while preserving the path identifier. Realm, parent, restricted-user, and private-metadata rules are validated; disallowed restricted-user fields may be ignored.\n * HTTP PUT /asset/{assetId}\n * Java method: org.openremote.model.asset.AssetResource.update\n */\n update(assetId: string, asset: Model.Asset, options?: O): RestResponse<Model.Asset> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`asset/${assetId}`, data: asset, options: options });\n }\n\n /**\n * Submits an asynchronous attribute write using the current server time. The result reports whether the event was accepted, not whether downstream processing ultimately succeeded. Anonymous writes require public-write metadata.\n * Response code 400 - The attribute write failed\n * Response code 406 - The supplied value is not valid for the attribute\n * Response code 429 - The attribute event queue is full; retry the write later\n * HTTP PUT /asset/{assetId}/attribute/{attributeName}\n * Java method: org.openremote.model.asset.AssetResource.writeAttributeValue\n */\n writeAttributeValue$PUT$asset_assetId_attribute_attributeName(assetId: string, attributeName: string, value: any, options?: O): RestResponse<Model.AttributeWriteResult> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`asset/${assetId}/attribute/${attributeName}`, data: value, options: options });\n }\n\n /**\n * Submits an asynchronous attribute write using the supplied Unix timestamp in milliseconds. The result reports acceptance only; anonymous writes require public-write metadata.\n * Response code 400 - The attribute write failed\n * Response code 406 - The supplied value is not valid for the attribute\n * Response code 429 - The attribute event queue is full; retry the write later\n * HTTP PUT /asset/{assetId}/attribute/{attributeName}/{timestamp}\n * Java method: org.openremote.model.asset.AssetResource.writeAttributeValue\n */\n writeAttributeValue$PUT$asset_assetId_attribute_attributeName_timestamp(assetId: string, attributeName: string, timestamp: number, value: any, options?: O): RestResponse<Model.AttributeWriteResult> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`asset/${assetId}/attribute/${attributeName}/${timestamp}`, data: value, options: options });\n }\n\n /**\n * Sets parentAssetId as the parent of every asset listed in repeated assetIds query parameters. Parent and children must satisfy realm, access, and hierarchy constraints.\n * HTTP PUT /asset/{parentAssetId}/child\n * Java method: org.openremote.model.asset.AssetResource.updateParent\n */\n updateParent(parentAssetId: string, queryParams?: { assetIds?: string[]; }, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`asset/${parentAssetId}/child`, queryParams: queryParams, options: options });\n }\n}\n\nexport class NotificationResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Returns sent-notification records filtered by identity, message type, time, realm, target, source, sorting, and pagination. Results are realm-scoped and sensitive target/source identifiers are redacted when the caller lacks user or asset read permission.\n * HTTP GET /notification\n * Java method: org.openremote.model.notification.NotificationResource.getNotifications\n */\n getNotifications(queryParams?: { id?: number; type?: string; from?: number; to?: number; realmId?: string; userId?: string; assetId?: string; source?: Model.NotificationSource; sort?: Model.SentNotificationSortField; descending?: boolean; offset?: number; limit?: number; }, options?: O): RestResponse<Model.SentNotification[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`notification`, queryParams: queryParams, options: options });\n }\n\n /**\n * Permanently removes all records matching the optional ID, type, time, realm, user, and asset filters. This bulk operation is restricted to a super user.\n * HTTP DELETE /notification\n * Java method: org.openremote.model.notification.NotificationResource.removeNotifications\n */\n removeNotifications(queryParams?: { id?: number; type?: string; from?: number; to?: number; realmId?: string; userId?: string; assetId?: string; }, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`notification`, queryParams: queryParams, options: options });\n }\n\n /**\n * Queues a notification for delivery. Authorization is checked for every target; if any target is inaccessible, the complete request fails rather than sending a partial set.\n * HTTP POST /notification/alert\n * Java method: org.openremote.model.notification.NotificationResource.sendNotification\n */\n sendNotification(notification: Model.Notification, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`notification/alert`, data: notification, options: options });\n }\n\n /**\n * Returns the count for the same realm-scoped type, time, target, and source filters supported by getNotifications without loading notification records.\n * HTTP GET /notification/count\n * Java method: org.openremote.model.notification.NotificationResource.getNotificationsCount\n */\n getNotificationsCount(queryParams?: { type?: string; from?: number; to?: number; realmId?: string; userId?: string; assetId?: string; source?: Model.NotificationSource; }, options?: O): RestResponse<number> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`notification/count`, queryParams: queryParams, options: options });\n }\n\n /**\n * Permanently removes one sent-notification record. This operation is restricted to a super user and is idempotent when the ID does not exist.\n * HTTP DELETE /notification/{notificationId}\n * Java method: org.openremote.model.notification.NotificationResource.removeNotification\n */\n removeNotification(notificationId: number, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`notification/${notificationId}`, options: options });\n }\n\n /**\n * Marks one target's notification as acknowledged and stores the optional JSON acknowledgement value. Access rules are identical to notificationDelivered.\n * HTTP PUT /notification/{notificationId}/acknowledged\n * Java method: org.openremote.model.notification.NotificationResource.notificationAcknowledged\n */\n notificationAcknowledged(notificationId: number, acknowledgement: any, queryParams?: { targetId?: string; }, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`notification/${notificationId}/acknowledged`, queryParams: queryParams, data: acknowledgement, options: options });\n }\n\n /**\n * Marks one target's notification as delivered after matching both notificationId and targetId. Anonymous callers may update notifications sent to a public asset; authenticated callers are constrained to their own user, realm, or accessible assets.\n * HTTP PUT /notification/{notificationId}/delivered\n * Java method: org.openremote.model.notification.NotificationResource.notificationDelivered\n */\n notificationDelivered(notificationId: number, queryParams?: { targetId?: string; }, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`notification/${notificationId}/delivered`, queryParams: queryParams, options: options });\n }\n}\n\nexport class RulesResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Creates and deploys a global ruleset and returns its numeric ID. Super-user access is required; legacy JavaScript rulesets cannot be created.\n * HTTP POST /rules\n * Java method: org.openremote.model.rules.RulesResource.createGlobalRuleset\n */\n createGlobalRuleset(ruleset: Model.GlobalRuleset, options?: O): RestResponse<number> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`rules`, data: ruleset, options: options });\n }\n\n /**\n * Returns global rulesets filtered by repeated language parameters. fullyPopulate controls whether rule source and other large fields are loaded; super-user access is required.\n * HTTP GET /rules\n * Java method: org.openremote.model.rules.RulesResource.getGlobalRulesets\n */\n getGlobalRulesets(queryParams?: { language?: Model.RulesetLang[]; fullyPopulate?: boolean; }, options?: O): RestResponse<Model.GlobalRuleset[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules`, queryParams: queryParams, options: options });\n }\n\n /**\n * Creates and deploys a ruleset for an accessible asset and returns its numeric ID. The assetId is taken from the request body.\n * HTTP POST /rules/asset\n * Java method: org.openremote.model.rules.RulesResource.createAssetRuleset\n */\n createAssetRuleset(ruleset: Model.AssetRuleset, options?: O): RestResponse<number> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`rules/asset`, data: ruleset, options: options });\n }\n\n /**\n * Returns asset rulesets filtered by language. Callers without full access receive public rulesets only; a nonexistent asset produces an empty array.\n * HTTP GET /rules/asset/for/{assetId}\n * Java method: org.openremote.model.rules.RulesResource.getAssetRulesets\n */\n getAssetRulesets(assetId: string, queryParams?: { language?: Model.RulesetLang[]; fullyPopulate?: boolean; }, options?: O): RestResponse<Model.AssetRuleset[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules/asset/for/${assetId}`, queryParams: queryParams, options: options });\n }\n\n /**\n * Permanently removes and undeploys one ruleset from an accessible asset.\n * HTTP DELETE /rules/asset/{id}\n * Java method: org.openremote.model.rules.RulesResource.deleteAssetRuleset\n */\n deleteAssetRuleset(id: number, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`rules/asset/${id}`, options: options });\n }\n\n /**\n * Returns one fully populated asset ruleset when the caller can access its realm and owning asset.\n * HTTP GET /rules/asset/{id}\n * Java method: org.openremote.model.rules.RulesResource.getAssetRuleset\n */\n getAssetRuleset(id: number, options?: O): RestResponse<Model.AssetRuleset> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules/asset/${id}`, options: options });\n }\n\n /**\n * Replaces and redeploys one asset ruleset. The ID must match and an existing ruleset cannot be reassigned to another asset.\n * HTTP PUT /rules/asset/{id}\n * Java method: org.openremote.model.rules.RulesResource.updateAssetRuleset\n */\n updateAssetRuleset(id: number, ruleset: Model.AssetRuleset, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`rules/asset/${id}`, data: ruleset, options: options });\n }\n\n /**\n * Extracts geofence definitions relevant to the asset. Anonymous access requires a public-readable asset; authenticated restricted users require an asset link.\n * HTTP GET /rules/geofences/{assetId}\n * Java method: org.openremote.model.rules.RulesResource.getAssetGeofences\n */\n getAssetGeofences(assetId: string, options?: O): RestResponse<Model.GeofenceDefinition[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules/geofences/${assetId}`, options: options });\n }\n\n /**\n * Returns runtime status and error counts for an accessible asset engine. Returns null when the asset or its engine does not exist.\n * Response code 204 - The asset or its rules engine does not exist\n * HTTP GET /rules/info/asset/{assetId}\n * Java method: org.openremote.model.rules.RulesResource.getAssetEngineInfo\n */\n getAssetEngineInfo(assetId: string, options?: O): RestResponse<Model.RulesEngineInfo> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules/info/asset/${assetId}`, options: options });\n }\n\n /**\n * Returns runtime status and compilation/execution error counts for the global engine, or null when that engine is not running. Super-user access is required.\n * Response code 204 - The global rules engine is not running\n * HTTP GET /rules/info/global\n * Java method: org.openremote.model.rules.RulesResource.getGlobalEngineInfo\n */\n getGlobalEngineInfo(options?: O): RestResponse<Model.RulesEngineInfo> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules/info/global`, options: options });\n }\n\n /**\n * Returns runtime status and error counts for an accessible realm engine, or null when that engine is not running. Restricted users cannot inspect realm engines.\n * Response code 204 - The requested realm rules engine is not running\n * HTTP GET /rules/info/realm/{realm}\n * Java method: org.openremote.model.rules.RulesResource.getRealmEngineInfo\n */\n getRealmEngineInfo(realm: string, options?: O): RestResponse<Model.RulesEngineInfo> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules/info/realm/${realm}`, options: options });\n }\n\n /**\n * Creates and deploys a ruleset in its body realm and returns its numeric ID. Restricted users cannot create realm rulesets; legacy JavaScript is not accepted.\n * HTTP POST /rules/realm\n * Java method: org.openremote.model.rules.RulesResource.createRealmRuleset\n */\n createRealmRuleset(ruleset: Model.RealmRuleset, options?: O): RestResponse<number> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`rules/realm`, data: ruleset, options: options });\n }\n\n /**\n * Returns realm rulesets filtered by language. Anonymous, restricted, or callers without read-rules permission receive public rulesets only; fullyPopulate controls loading of rule source.\n * HTTP GET /rules/realm/for/{realm}\n * Java method: org.openremote.model.rules.RulesResource.getRealmRulesets\n */\n getRealmRulesets(realm: string, queryParams?: { language?: Model.RulesetLang[]; fullyPopulate?: boolean; }, options?: O): RestResponse<Model.RealmRuleset[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules/realm/for/${realm}`, queryParams: queryParams, options: options });\n }\n\n /**\n * Permanently removes and undeploys one ruleset from an accessible realm.\n * HTTP DELETE /rules/realm/{id}\n * Java method: org.openremote.model.rules.RulesResource.deleteRealmRuleset\n */\n deleteRealmRuleset(id: number, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`rules/realm/${id}`, options: options });\n }\n\n /**\n * Returns one fully populated realm ruleset when its realm is accessible to the caller.\n * HTTP GET /rules/realm/{id}\n * Java method: org.openremote.model.rules.RulesResource.getRealmRuleset\n */\n getRealmRuleset(id: number, options?: O): RestResponse<Model.RealmRuleset> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules/realm/${id}`, options: options });\n }\n\n /**\n * Replaces and redeploys one realm ruleset. Path and body IDs and the existing realm must match; legacy JavaScript cannot be updated.\n * HTTP PUT /rules/realm/{id}\n * Java method: org.openremote.model.rules.RulesResource.updateRealmRuleset\n */\n updateRealmRuleset(id: number, ruleset: Model.RealmRuleset, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`rules/realm/${id}`, data: ruleset, options: options });\n }\n\n /**\n * Permanently removes and undeploys one global ruleset. Super-user access is required.\n * HTTP DELETE /rules/{id}\n * Java method: org.openremote.model.rules.RulesResource.deleteGlobalRuleset\n */\n deleteGlobalRuleset(id: number, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`rules/${id}`, options: options });\n }\n\n /**\n * Returns one fully populated global ruleset including transient deployment status and errors. Super-user access is required.\n * HTTP GET /rules/{id}\n * Java method: org.openremote.model.rules.RulesResource.getGlobalRuleset\n */\n getGlobalRuleset(id: number, options?: O): RestResponse<Model.GlobalRuleset> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules/${id}`, options: options });\n }\n\n /**\n * Replaces and redeploys the identified global ruleset. Path and body IDs must match; legacy JavaScript rulesets cannot be updated.\n * HTTP PUT /rules/{id}\n * Java method: org.openremote.model.rules.RulesResource.updateGlobalRuleset\n */\n updateGlobalRuleset(id: number, ruleset: Model.GlobalRuleset, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`rules/${id}`, data: ruleset, options: options });\n }\n}\n\nexport class AssetPredictedDatapointResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Queries predicted values for one attribute using the supplied time-range and aggregation criteria. Anonymous access requires public-read access on both asset and attribute.\n * HTTP POST /asset/predicted/{assetId}/{attributeName}\n * Java method: org.openremote.model.datapoint.AssetPredictedDatapointResource.getPredictedDatapoints\n */\n getPredictedDatapoints(assetId: string, attributeName: string, query: Model.AssetDatapointQueryUnion, options?: O): RestResponse<Model.ValueDatapoint<any>[]> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`asset/predicted/${assetId}/${attributeName}`, data: query, options: options });\n }\n\n /**\n * Replaces or adds predicted values for one attribute. Anonymous access is allowed only when the asset and attribute are public-write; authenticated callers require attribute-write access.\n * HTTP PUT /asset/predicted/{assetId}/{attributeName}\n * Java method: org.openremote.model.datapoint.AssetPredictedDatapointResource.writePredictedDatapoints\n */\n writePredictedDatapoints(assetId: string, attributeName: string, predictedDatapoints: Model.ValueDatapoint<any>[], options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`asset/predicted/${assetId}/${attributeName}`, data: predictedDatapoints, options: options });\n }\n}\n\nexport class UserResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Stores the supplied non-empty locale string as the caller's identity-provider locale attribute.\n * HTTP PUT /user/locale\n * Java method: org.openremote.model.security.UserResource.updateCurrentUserLocale\n */\n updateCurrentUserLocale(locale: string, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/locale`, data: locale, options: options });\n }\n\n /**\n * Executes a UserQuery. Non-super users are forced into their authenticated realm and cannot see system accounts; callers with read-users but not read-admin receive basic fields only.\n * HTTP POST /user/query\n * Java method: org.openremote.model.security.UserResource.query\n */\n query(query: Model.UserQuery, options?: O): RestResponse<Model.User[]> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`user/query`, data: query, options: options });\n }\n\n /**\n * Initiates the identity provider's configured password-reset action for the caller's own account.\n * HTTP PUT /user/request-password-reset\n * Java method: org.openremote.model.security.UserResource.requestPasswordResetCurrent\n */\n requestPasswordResetCurrent(options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/request-password-reset`, options: options });\n }\n\n /**\n * Replaces the caller's own identity-provider credential using the supplied credential representation.\n * HTTP PUT /user/reset-password\n * Java method: org.openremote.model.security.UserResource.updatePasswordCurrent\n */\n updatePasswordCurrent(credential: Model.Credential, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/reset-password`, data: credential, options: options });\n }\n\n /**\n * Updates the caller's own profile. A supplied user ID must match the access token; role and realm administration are not provided by this endpoint.\n * HTTP PUT /user/update\n * Java method: org.openremote.model.security.UserResource.updateCurrent\n */\n updateCurrent(user: Model.User, options?: O): RestResponse<Model.User> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/update`, data: user, options: options });\n }\n\n /**\n * Returns the identity-provider record corresponding to the current access token.\n * HTTP GET /user/user\n * Java method: org.openremote.model.security.UserResource.getCurrent\n */\n getCurrent(options?: O): RestResponse<Model.User> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/user`, options: options });\n }\n\n /**\n * Returns realm-level role names assigned to the caller.\n * HTTP GET /user/userRealmRoles\n * Java method: org.openremote.model.security.UserResource.getCurrentUserRealmRoles\n */\n getCurrentUserRealmRoles(options?: O): RestResponse<string[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/userRealmRoles`, options: options });\n }\n\n /**\n * Returns role names assigned to the caller for the named identity-provider client.\n * HTTP GET /user/userRoles/{clientId}\n * Java method: org.openremote.model.security.UserResource.getCurrentUserClientRoles\n */\n getCurrentUserClientRoles(clientId: string, options?: O): RestResponse<string[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/userRoles/${clientId}`, options: options });\n }\n\n /**\n * Terminates the active MQTT connection identified by sessionID.\n * HTTP GET /user/{realm}/disconnect/{sessionID}\n * Java method: org.openremote.model.security.UserResource.disconnectUserSession\n */\n disconnectUserSession(realm: string, sessionID: string, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/${realm}/disconnect/${sessionID}`, options: options });\n }\n\n /**\n * Asks the identity provider to send or initiate its configured password-reset action for the specified user.\n * Response code 405 - The caller cannot mutate a user in the requested realm\n * HTTP PUT /user/{realm}/request-password-reset/{userId}\n * Java method: org.openremote.model.security.UserResource.requestPasswordReset\n */\n requestPasswordReset(realm: string, userId: string, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/${realm}/request-password-reset/${userId}`, options: options });\n }\n\n /**\n * Replaces a user's credential in an administered realm using the supplied credential representation.\n * Response code 405 - The caller cannot mutate a user in the requested realm\n * HTTP PUT /user/{realm}/reset-password/{userId}\n * Java method: org.openremote.model.security.UserResource.updatePassword\n */\n updatePassword(realm: string, userId: string, credential: Model.Credential, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/${realm}/reset-password/${userId}`, data: credential, options: options });\n }\n\n /**\n * Generates and returns a new client secret for a service user in an administered realm.\n * HTTP GET /user/{realm}/reset-secret/{userId}\n * Java method: org.openremote.model.security.UserResource.resetSecret\n */\n resetSecret(realm: string, userId: string, options?: O): RestResponse<string> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/${realm}/reset-secret/${userId}`, options: options });\n }\n\n /**\n * Creates, updates, or removes role definitions for the default OpenRemote client in the requested realm.\n * HTTP PUT /user/{realm}/roles\n * Java method: org.openremote.model.security.UserResource.updateRoles\n */\n updateRoles(realm: string, roles: Model.Role[], options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/${realm}/roles`, data: roles, options: options });\n }\n\n /**\n * Returns realm-level role names assigned to one user. Without read-admin permission, callers may retrieve only their own roles.\n * HTTP GET /user/{realm}/userRealmRoles/{userId}\n * Java method: org.openremote.model.security.UserResource.getUserRealmRoles\n */\n getUserRealmRoles(realm: string, userId: string, options?: O): RestResponse<string[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/${realm}/userRealmRoles/${userId}`, options: options });\n }\n\n /**\n * Replaces the user's assigned realm-level role names in an administered realm.\n * HTTP PUT /user/{realm}/userRealmRoles/{userId}\n * Java method: org.openremote.model.security.UserResource.updateUserRealmRoles\n */\n updateUserRealmRoles(realm: string, userId: string, roles: string[], options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/${realm}/userRealmRoles/${userId}`, data: roles, options: options });\n }\n\n /**\n * Returns role names assigned to one user for the named client. Without read-admin permission, callers may retrieve only their own roles.\n * HTTP GET /user/{realm}/userRoles/{userId}/{clientId}\n * Java method: org.openremote.model.security.UserResource.getUserClientRoles\n */\n getUserClientRoles(realm: string, userId: string, clientId: string, options?: O): RestResponse<string[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/${realm}/userRoles/${userId}/${clientId}`, options: options });\n }\n\n /**\n * Replaces the user's assigned role names for the named client in an administered realm.\n * HTTP PUT /user/{realm}/userRoles/{userId}/{clientId}\n * Java method: org.openremote.model.security.UserResource.updateUserClientRoles\n */\n updateUserClientRoles(realm: string, userId: string, clientId: string, roles: string[], options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/${realm}/userRoles/${userId}/${clientId}`, data: roles, options: options });\n }\n\n /**\n * Returns active MQTT sessions for one user, including connection ID, creation time, and remote address. Without read-admin permission, callers may inspect only themselves.\n * HTTP GET /user/{realm}/userSessions/{userId}\n * Java method: org.openremote.model.security.UserResource.getUserSessions\n */\n getUserSessions(realm: string, userId: string, options?: O): RestResponse<Model.UserSession[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/${realm}/userSessions/${userId}`, options: options });\n }\n\n /**\n * Creates an identity-provider user in a realm administered by the caller and returns the resulting user record.\n * HTTP POST /user/{realm}/users\n * Java method: org.openremote.model.security.UserResource.create\n */\n create(realm: string, user: Model.User, options?: O): RestResponse<Model.User> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`user/${realm}/users`, data: user, options: options });\n }\n\n /**\n * Updates an existing identity-provider user in an administered realm. The master administrator cannot be disabled.\n * Response code 405 - The requested cross-realm or protected master-administrator mutation is not allowed\n * HTTP PUT /user/{realm}/users\n * Java method: org.openremote.model.security.UserResource.update\n */\n update(realm: string, user: Model.User, options?: O): RestResponse<Model.User> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/${realm}/users`, data: user, options: options });\n }\n\n /**\n * Permanently deletes a user from an administered realm. The master-realm administrator cannot be deleted.\n * Response code 405 - The master-realm administrator cannot be deleted\n * HTTP DELETE /user/{realm}/users/{userId}\n * Java method: org.openremote.model.security.UserResource.delete\n */\n delete(realm: string, userId: string, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`user/${realm}/users/${userId}`, options: options });\n }\n\n /**\n * Returns all role definitions exposed by the named identity-provider client. Realm-administrator access is required.\n * HTTP GET /user/{realm}/{clientId}/roles\n * Java method: org.openremote.model.security.UserResource.getClientRoles\n */\n getClientRoles(realm: string, clientId: string, options?: O): RestResponse<Model.Role[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/${realm}/${clientId}/roles`, options: options });\n }\n\n /**\n * Creates, updates, or removes role definitions for a named identity-provider client.\n * HTTP PUT /user/{realm}/{clientId}/roles\n * Java method: org.openremote.model.security.UserResource.updateClientRoles\n */\n updateClientRoles(realm: string, clientId: string, roles: Model.Role[], options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/${realm}/${clientId}/roles`, data: roles, options: options });\n }\n\n /**\n * Returns one user when it belongs to the requested accessible realm. Without read-admin permission, callers may retrieve only their own user.\n * HTTP GET /user/{realm}/{userId}\n * Java method: org.openremote.model.security.UserResource.get\n */\n get(realm: string, userId: string, options?: O): RestResponse<Model.User> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/${realm}/${userId}`, options: options });\n }\n}\n\nexport class MapResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Returns realm-aware public MapLibre settings with externally reachable URLs derived from proxy headers.\n * HTTP GET /map\n * Java method: org.openremote.model.map.MapResource.getSettings\n */\n getSettings(options?: O): RestResponse<{ [id: string]: unknown }> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`map`, options: options });\n }\n\n /**\n * Stores the map configuration and returns the resulting public MapLibre settings.\n * HTTP PUT /map\n * Java method: org.openremote.model.map.MapResource.saveSettings\n */\n saveSettings(mapConfig: Model.MapConfig, options?: O): RestResponse<{ [id: string]: unknown }> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`map`, data: mapConfig, options: options });\n }\n\n /**\n * Deletes the installed custom MBTiles database and returns the fallback public map settings.\n * HTTP DELETE /map/deleteMap\n * Java method: org.openremote.model.map.MapResource.deleteMap\n */\n deleteMap(options?: O): RestResponse<{ [id: string]: unknown }> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`map/deleteMap`, options: options });\n }\n\n /**\n * Reports whether custom MBTiles data is installed and the maximum accepted upload size.\n * HTTP GET /map/getCustomMapInfo\n * Java method: org.openremote.model.map.MapResource.getCustomMapInfo\n */\n getCustomMapInfo(options?: O): RestResponse<{ [id: string]: unknown }> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`map/getCustomMapInfo`, options: options });\n }\n\n /**\n * Returns a pre-compressed Mapbox vector tile for the requested zoom, column, and row coordinates.\n * Response code 200 - Gzip-compressed vector tile\n * Response code 204 - No tile exists at the requested coordinates\n * HTTP GET /map/tile/{zoom}/{column}/{row}\n * Java method: org.openremote.model.map.MapResource.getTile\n */\n getTile(zoom: number, column: number, row: number, options?: O): RestResponse<any> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`map/tile/${zoom}/${column}/${row}`, options: options });\n }\n\n /**\n * Stores the raw request body as the realm's custom MBTiles database and returns the resulting public map settings.\n * HTTP POST /map/upload\n * Java method: org.openremote.model.map.MapResource.uploadMap\n */\n uploadMap(queryParams?: { filename?: string; }, options?: O): RestResponse<{ [id: string]: unknown }> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`map/upload`, queryParams: queryParams, options: options });\n }\n}\n\nexport class AssetDatapointResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Streams a ZIP archive containing exported datapoints for one or more attribute references over the requested inclusive time range. attributeRefs is a JSON-encoded array of objects with id and name fields.\n * Response code 200 - A ZIP archive containing the exported data\n * HTTP GET /asset/datapoint/export\n * Java method: org.openremote.model.datapoint.AssetDatapointResource.getDatapointExport\n */\n getDatapointExport(queryParams?: { attributeRefs?: string; fromTimestamp?: number; toTimestamp?: number; format?: Model.DatapointExportFormat; }, options?: O): RestResponse<any> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`asset/datapoint/export`, queryParams: queryParams, options: options });\n }\n\n /**\n * Returns the oldest and newest stored timestamps for one attribute. The asset and attribute must be readable by the authenticated user and configured for datapoint storage.\n * HTTP GET /asset/datapoint/periods\n * Java method: org.openremote.model.datapoint.AssetDatapointResource.getDatapointPeriod\n */\n getDatapointPeriod(queryParams?: { assetId?: string; attributeName?: string; }, options?: O): RestResponse<Model.DatapointPeriod> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`asset/datapoint/periods`, queryParams: queryParams, options: options });\n }\n\n /**\n * Returns stored historical values for one attribute. A null body returns the available series; a polymorphic query body controls the time range and retrieval or aggregation strategy. Anonymous access requires public-read access on both asset and attribute.\n * HTTP POST /asset/datapoint/{assetId}/{attributeName}\n * Java method: org.openremote.model.datapoint.AssetDatapointResource.getDatapoints\n */\n getDatapoints(assetId: string, attributeName: string, query: Model.AssetDatapointQueryUnion, options?: O): RestResponse<Model.ValueDatapoint<any>[]> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`asset/datapoint/${assetId}/${attributeName}`, data: query, options: options });\n }\n}\n\nexport class AgentResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Runs the agent protocol's asset discovery, waits up to ten seconds for results, returns the discovered tree, and asynchronously persists discovered assets below the agent.\n * HTTP GET /agent/assetDiscovery/{agentId}\n * Java method: org.openremote.model.asset.agent.AgentResource.doProtocolAssetDiscovery\n */\n doProtocolAssetDiscovery(agentId: string, queryParams?: { realm?: string; }, options?: O): RestResponse<Model.AssetTreeNode[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`agent/assetDiscovery/${agentId}`, queryParams: queryParams, options: options });\n }\n\n /**\n * Decodes the supplied FileInfo, asks the agent protocol to import it, persists the returned asset tree below the agent, and returns that tree.\n * Response code 405 - The selected agent protocol does not support asset import\n * HTTP POST /agent/assetImport/{agentId}\n * Java method: org.openremote.model.asset.agent.AgentResource.doProtocolAssetImport\n */\n doProtocolAssetImport(agentId: string, fileInfo: Model.FileInfo, queryParams?: { realm?: string; }, options?: O): RestResponse<Model.AssetTreeNode[]> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`agent/assetImport/${agentId}`, queryParams: queryParams, data: fileInfo, options: options });\n }\n\n /**\n * Runs instance discovery for an agent type and returns candidate Agent assets. parentId selects local versus edge-gateway discovery; non-super users are always constrained to their authenticated realm.\n * Response code 415 - The selected agent protocol does not support instance discovery\n * HTTP GET /agent/instanceDiscovery/{agentType}\n * Java method: org.openremote.model.asset.agent.AgentResource.doProtocolInstanceDiscovery\n */\n doProtocolInstanceDiscovery(agentType: string, queryParams?: { parentId?: string; realm?: string; }, options?: O): RestResponse<Model.Agent[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`agent/instanceDiscovery/${agentType}`, queryParams: queryParams, options: options });\n }\n}\n\nexport class AlarmResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Creates a manual alarm in an accessible realm and optionally links it to the supplied asset IDs. The authenticated user or client becomes the alarm source.\n * HTTP POST /alarm\n * Java method: org.openremote.model.alarm.AlarmResource.createAlarm\n */\n createAlarm(alarm: Model.Alarm, queryParams?: { assetIds?: string[]; }, options?: O): RestResponse<Model.SentAlarm> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`alarm`, queryParams: queryParams, data: alarm, options: options });\n }\n\n /**\n * Returns alarms in the requested accessible realm, optionally filtered by status, linked asset, or assignee. When realm is omitted, the authenticated realm is used.\n * HTTP GET /alarm\n * Java method: org.openremote.model.alarm.AlarmResource.getAlarms\n */\n getAlarms(queryParams?: { realm?: string; status?: Model.AlarmStatus; assetId?: string; assigneeId?: string; }, options?: O): RestResponse<Model.SentAlarm[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`alarm`, queryParams: queryParams, options: options });\n }\n\n /**\n * Permanently removes all alarms identified by the request body after verifying access to every alarm's realm.\n * HTTP DELETE /alarm\n * Java method: org.openremote.model.alarm.AlarmResource.removeAlarms\n */\n removeAlarms(ids: number[], options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`alarm`, data: ids, options: options });\n }\n\n /**\n * Adds links between assets and one existing alarm.\n\nThe request body is a list for backward compatibility, but this operation now has single-alarm semantics:\nevery item must contain the same `id.realm` and the same `id.alarmId`. The alarm must exist in that realm,\nevery asset must exist in the same realm, and the authenticated user must have access to that realm. Requests\ncontaining mixed alarm IDs or realms are rejected as bad requests.\n\nExisting links are left unchanged; duplicate links in the request or links that already exist are ignored.\nThis operation does not remove existing links from the alarm.\n\n * HTTP PUT /alarm/assets\n * Java method: org.openremote.model.alarm.AlarmResource.setAssetLinks\n */\n setAssetLinks(links: Model.AlarmAssetLink[], options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`alarm/assets`, data: links, options: options });\n }\n\n /**\n * Returns one alarm when its realm is active and accessible to the authenticated user.\n * HTTP GET /alarm/{alarmId}\n * Java method: org.openremote.model.alarm.AlarmResource.getAlarm\n */\n getAlarm(alarmId: number, options?: O): RestResponse<Model.SentAlarm> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`alarm/${alarmId}`, options: options });\n }\n\n /**\n * Permanently removes one alarm after verifying access to its realm.\n * HTTP DELETE /alarm/{alarmId}\n * Java method: org.openremote.model.alarm.AlarmResource.removeAlarm\n */\n removeAlarm(alarmId: number, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`alarm/${alarmId}`, options: options });\n }\n\n /**\n * Updates the mutable state of an existing alarm after verifying access to its current realm.\n * HTTP PUT /alarm/{alarmId}\n * Java method: org.openremote.model.alarm.AlarmResource.updateAlarm\n */\n updateAlarm(alarmId: number, alarm: Model.SentAlarm, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`alarm/${alarmId}`, data: alarm, options: options });\n }\n\n /**\n * Returns links from the alarm to assets in the explicitly supplied accessible realm.\n * HTTP GET /alarm/{alarmId}/assets\n * Java method: org.openremote.model.alarm.AlarmResource.getAssetLinks\n */\n getAssetLinks(alarmId: number, queryParams?: { realm?: string; }, options?: O): RestResponse<Model.AlarmAssetLink[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`alarm/${alarmId}/assets`, queryParams: queryParams, options: options });\n }\n}\n\nexport class StatusResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Returns health data keyed by registered health-provider name. A null provider result is represented as JSON null.\n * HTTP GET /health\n * Java method: org.openremote.model.system.StatusResource.getHealthStatus\n */\n getHealthStatus(options?: O): RestResponse<{ [index: string]: any }> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`health`, options: options });\n }\n\n /**\n * Returns public bootstrap information, including the Manager version and identity-provider URL.\n * HTTP GET /info\n * Java method: org.openremote.model.system.StatusResource.getInfo\n */\n getInfo(options?: O): RestResponse<{ [index: string]: any }> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`info`, options: options });\n }\n}\n\nexport type RestResponse<R> = Promise<Axios.GenericAxiosResponse<R>>;\n\nfunction uriEncoding(template: TemplateStringsArray, ...substitutions: any[]): string {\n let result = \"\";\n for (let i = 0; i < substitutions.length; i++) {\n result += template[i];\n result += encodeURIComponent(substitutions[i]);\n }\n result += template[template.length - 1];\n return result;\n}\n\n\n// Added by 'AggregatedApiClient' extension\nexport class ApiClient {\n\nprotected _assetModelResource : AxiosAssetModelResourceClient;\nprotected _appResource : AxiosAppResourceClient;\nprotected _realmResource : AxiosRealmResourceClient;\nprotected _flowResource : AxiosFlowResourceClient;\nprotected _provisioningResource : AxiosProvisioningResourceClient;\nprotected _gatewayClientResource : AxiosGatewayClientResourceClient;\nprotected _gatewayServiceResource : AxiosGatewayServiceResourceClient;\nprotected _consoleResource : AxiosConsoleResourceClient;\nprotected _configurationResource : AxiosConfigurationResourceClient;\nprotected _externalServiceResource : AxiosExternalServiceResourceClient;\nprotected _syslogResource : AxiosSyslogResourceClient;\nprotected _dashboardResource : AxiosDashboardResourceClient;\nprotected _assetResource : AxiosAssetResourceClient;\nprotected _notificationResource : AxiosNotificationResourceClient;\nprotected _rulesResource : AxiosRulesResourceClient;\nprotected _assetPredictedDatapointResource : AxiosAssetPredictedDatapointResourceClient;\nprotected _userResource : AxiosUserResourceClient;\nprotected _mapResource : AxiosMapResourceClient;\nprotected _assetDatapointResource : AxiosAssetDatapointResourceClient;\nprotected _agentResource : AxiosAgentResourceClient;\nprotected _alarmResource : AxiosAlarmResourceClient;\nprotected _statusResource : AxiosStatusResourceClient;\n\nconstructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\nthis._assetModelResource = new AxiosAssetModelResourceClient(baseURL, axiosInstance);\nthis._appResource = new AxiosAppResourceClient(baseURL, axiosInstance);\nthis._realmResource = new AxiosRealmResourceClient(baseURL, axiosInstance);\nthis._flowResource = new AxiosFlowResourceClient(baseURL, axiosInstance);\nthis._provisioningResource = new AxiosProvisioningResourceClient(baseURL, axiosInstance);\nthis._gatewayClientResource = new AxiosGatewayClientResourceClient(baseURL, axiosInstance);\nthis._gatewayServiceResource = new AxiosGatewayServiceResourceClient(baseURL, axiosInstance);\nthis._consoleResource = new AxiosConsoleResourceClient(baseURL, axiosInstance);\nthis._configurationResource = new AxiosConfigurationResourceClient(baseURL, axiosInstance);\nthis._externalServiceResource = new AxiosExternalServiceResourceClient(baseURL, axiosInstance);\nthis._syslogResource = new AxiosSyslogResourceClient(baseURL, axiosInstance);\nthis._dashboardResource = new AxiosDashboardResourceClient(baseURL, axiosInstance);\nthis._assetResource = new AxiosAssetResourceClient(baseURL, axiosInstance);\nthis._notificationResource = new AxiosNotificationResourceClient(baseURL, axiosInstance);\nthis._rulesResource = new AxiosRulesResourceClient(baseURL, axiosInstance);\nthis._assetPredictedDatapointResource = new AxiosAssetPredictedDatapointResourceClient(baseURL, axiosInstance);\nthis._userResource = new AxiosUserResourceClient(baseURL, axiosInstance);\nthis._mapResource = new AxiosMapResourceClient(baseURL, axiosInstance);\nthis._assetDatapointResource = new AxiosAssetDatapointResourceClient(baseURL, axiosInstance);\nthis._agentResource = new AxiosAgentResourceClient(baseURL, axiosInstance);\nthis._alarmResource = new AxiosAlarmResourceClient(baseURL, axiosInstance);\nthis._statusResource = new AxiosStatusResourceClient(baseURL, axiosInstance);\nthis._assetResource = new AxiosAssetResourceClient(baseURL, axiosInstance);\n}\n\nget AssetModelResource() : AxiosAssetModelResourceClient {\nreturn this._assetModelResource;\n}\nget AppResource() : AxiosAppResourceClient {\nreturn this._appResource;\n}\nget RealmResource() : AxiosRealmResourceClient {\nreturn this._realmResource;\n}\nget FlowResource() : AxiosFlowResourceClient {\nreturn this._flowResource;\n}\nget ProvisioningResource() : AxiosProvisioningResourceClient {\nreturn this._provisioningResource;\n}\nget GatewayClientResource() : AxiosGatewayClientResourceClient {\nreturn this._gatewayClientResource;\n}\nget GatewayServiceResource() : AxiosGatewayServiceResourceClient {\nreturn this._gatewayServiceResource;\n}\nget ConsoleResource() : AxiosConsoleResourceClient {\nreturn this._consoleResource;\n}\nget ConfigurationResource() : AxiosConfigurationResourceClient {\nreturn this._configurationResource;\n}\nget ExternalServiceResource() : AxiosExternalServiceResourceClient {\nreturn this._externalServiceResource;\n}\nget SyslogResource() : AxiosSyslogResourceClient {\nreturn this._syslogResource;\n}\nget DashboardResource() : AxiosDashboardResourceClient {\nreturn this._dashboardResource;\n}\nget AssetResource() : AxiosAssetResourceClient {\nreturn this._assetResource;\n}\nget NotificationResource() : AxiosNotificationResourceClient {\nreturn this._notificationResource;\n}\nget RulesResource() : AxiosRulesResourceClient {\nreturn this._rulesResource;\n}\nget AssetPredictedDatapointResource() : AxiosAssetPredictedDatapointResourceClient {\nreturn this._assetPredictedDatapointResource;\n}\nget UserResource() : AxiosUserResourceClient {\nreturn this._userResource;\n}\nget MapResource() : AxiosMapResourceClient {\nreturn this._mapResource;\n}\nget AssetDatapointResource() : AxiosAssetDatapointResourceClient {\nreturn this._assetDatapointResource;\n}\nget AgentResource() : AxiosAgentResourceClient {\nreturn this._agentResource;\n}\nget AlarmResource() : AxiosAlarmResourceClient {\nreturn this._alarmResource;\n}\nget StatusResource() : AxiosStatusResourceClient {\nreturn this._statusResource;\n}\n}\n\n\n// Added by 'AxiosClientExtension' extension\n\nimport axios from \"axios\";\nimport * as Axios from \"axios\";\n\ndeclare module \"axios\" {\n export interface GenericAxiosResponse<R> extends Axios.AxiosResponse {\n data: R;\n }\n}\n\nclass AxiosHttpClient implements HttpClient<Axios.AxiosRequestConfig> {\n\n constructor(private axios: Axios.AxiosInstance) {\n }\n\n request<R>(requestConfig: { method: string; url: string; queryParams?: any; data?: any; copyFn?: (data: R) => R; options?: Axios.AxiosRequestConfig; }): RestResponse<R> {\n function assign(target: any, source?: any) {\n if (source != undefined) {\n for (const key in source) {\n if (source.hasOwnProperty(key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }\n\n const config: Axios.AxiosRequestConfig = {};\n config.method = requestConfig.method as typeof config.method; // `string` in axios 0.16.0, `Method` in axios 0.19.0\n config.url = requestConfig.url;\n config.params = requestConfig.queryParams;\n config.data = requestConfig.data;\n assign(config, requestConfig.options);\n const copyFn = requestConfig.copyFn;\n\n const axiosResponse = this.axios.request(config);\n return axiosResponse.then(axiosResponse => {\n if (copyFn && axiosResponse.data) {\n (axiosResponse as any).originalData = axiosResponse.data;\n axiosResponse.data = copyFn(axiosResponse.data);\n }\n return axiosResponse;\n });\n }\n}\n\nexport class AxiosAssetModelResourceClient extends AssetModelResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosAppResourceClient extends AppResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosRealmResourceClient extends RealmResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosFlowResourceClient extends FlowResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosProvisioningResourceClient extends ProvisioningResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosGatewayClientResourceClient extends GatewayClientResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosGatewayServiceResourceClient extends GatewayServiceResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosConsoleResourceClient extends ConsoleResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosConfigurationResourceClient extends ConfigurationResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosExternalServiceResourceClient extends ExternalServiceResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosSyslogResourceClient extends SyslogResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosDashboardResourceClient extends DashboardResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosAssetResourceClient extends AssetResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosNotificationResourceClient extends NotificationResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosRulesResourceClient extends RulesResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosAssetPredictedDatapointResourceClient extends AssetPredictedDatapointResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosUserResourceClient extends UserResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosMapResourceClient extends MapResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosAssetDatapointResourceClient extends AssetDatapointResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosAgentResourceClient extends AgentResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosAlarmResourceClient extends AlarmResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosStatusResourceClient extends StatusResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n","import axios, {AxiosInstance, GenericAxiosResponse, AxiosError, InternalAxiosRequestConfig} from \"axios\";\nimport {ApiClient, RestResponse} from \"./restclient\";\nimport Qs from \"qs\";\n\nconst isAxiosError = axios.isAxiosError;\n\nexport {RestResponse, GenericAxiosResponse, AxiosError, isAxiosError};\n\nexport class RestApi {\n\n get api() {\n return this._client;\n }\n\n protected _client!: ApiClient;\n protected _axiosInstance!: AxiosInstance;\n protected _baseUrl!: string;\n\n constructor() {\n this._axiosInstance = axios.create();\n this._axiosInstance.defaults.headers.common[\"Content-Type\"] = \"application/json\";\n this._axiosInstance.interceptors.request.use((config) => {\n config.paramsSerializer = (params) => Qs.stringify(params, {arrayFormat: \"repeat\"});\n return config;\n });\n }\n\n get axiosInstance() {\n return this._axiosInstance;\n }\n\n get baseUrl() {\n return this._baseUrl;\n }\n\n public setTimeout(timeout: number) {\n this._axiosInstance.defaults.timeout = timeout;\n }\n\n public addRequestInterceptor(interceptor: (config: InternalAxiosRequestConfig) => InternalAxiosRequestConfig) {\n this._axiosInstance.interceptors.request.use(interceptor);\n }\n\n public initialise(baseUrl: string) {\n this._baseUrl = baseUrl;\n this._client = new ApiClient(baseUrl, this._axiosInstance);\n }\n}\n\nexport default new RestApi();\n"],"names":["Object","Symbol","t","o","r","encodeURIComponent","A"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["webpack://ORRest/webpack/runtime/compat_get_default_export","webpack://ORRest/webpack/runtime/define_property_getters","webpack://ORRest/webpack/runtime/has_own_property","webpack://ORRest/webpack/runtime/make_namespace_object","webpack://ORRest/./src/restclient.ts","webpack://ORRest/./src/index.ts"],"sourcesContent":["// getDefaultExport function for compatibility with non-ESM modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/* tslint:disable */\n/* eslint-disable */\n// Generated using typescript-generator version 4.1.1 on 2026-07-30 08:03:33.\n\nimport * as Model from \"@openremote/model\";\n\nexport interface HttpClient<O> {\n\n request<R>(requestConfig: { method: string; url: string; queryParams?: any; data?: any; copyFn?: (data: R) => R; options?: O; }): RestResponse<R>;\n}\n\nexport class GatewayServiceResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Requests a TCP tunnel through a connected gateway and returns its allocated local endpoint. When realm is omitted, the authenticated realm is used.\n * Response code 417 - The gateway could not establish the requested tunnel\n * HTTP POST /gateway/tunnel\n * Java method: org.openremote.model.gateway.GatewayServiceResource.startTunnel\n */\n startTunnel(tunnelInfo: Model.GatewayTunnelInfo, options?: O): RestResponse<Model.GatewayTunnelInfo> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`gateway/tunnel`, data: tunnelInfo, options: options });\n }\n\n /**\n * Stops the tunnel identified by the supplied gateway, target, and port information. When realm is omitted, the authenticated realm is used.\n * HTTP DELETE /gateway/tunnel\n * Java method: org.openremote.model.gateway.GatewayServiceResource.stopTunnel\n */\n stopTunnel(tunnelInfo: Model.GatewayTunnelInfo, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`gateway/tunnel`, data: tunnelInfo, options: options });\n }\n\n /**\n * Returns active tunnels for all gateway assets in the requested realm. Restricted users cannot list an entire realm.\n * HTTP GET /gateway/tunnel/{realm}\n * Java method: org.openremote.model.gateway.GatewayServiceResource.getAllActiveTunnelInfos\n */\n getAllActiveTunnelInfos(realm: string, options?: O): RestResponse<Model.GatewayTunnelInfo[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`gateway/tunnel/${realm}`, options: options });\n }\n\n /**\n * Returns active tunnels for one gateway asset. Restricted users may query only a linked gateway.\n * HTTP GET /gateway/tunnel/{realm}/{id}\n * Java method: org.openremote.model.gateway.GatewayServiceResource.getGatewayActiveTunnelInfos\n */\n getGatewayActiveTunnelInfos(realm: string, id: string, options?: O): RestResponse<Model.GatewayTunnelInfo[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`gateway/tunnel/${realm}/${id}`, options: options });\n }\n\n /**\n * Returns the tunnel matching realm, gateway, target host, and target port, or null when no active tunnel matches.\n * Response code 204 - No active tunnel matches the requested endpoint\n * HTTP GET /gateway/tunnel/{realm}/{id}/{target}/{targetPort}\n * Java method: org.openremote.model.gateway.GatewayServiceResource.getActiveTunnelInfo\n */\n getActiveTunnelInfo(realm: string, id: string, target: string, targetPort: number, options?: O): RestResponse<Model.GatewayTunnelInfo> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`gateway/tunnel/${realm}/${id}/${target}/${targetPort}`, options: options });\n }\n}\n\nexport class AssetModelResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Returns the descriptors used to construct supported asset types, using a gateway model when the optional parent context resolves below a gateway.\n * HTTP GET /model/assetDescriptors\n * Java method: org.openremote.model.asset.AssetModelResource.getAssetDescriptors\n */\n getAssetDescriptors(queryParams?: { parentId?: string; parentType?: string; }, options?: O): RestResponse<Model.AssetDescriptor[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`model/assetDescriptors`, queryParams: queryParams, options: options });\n }\n\n /**\n * Returns metadata for one asset type from this Manager or, when parentId is below a gateway, from that gateway's model. An unknown or gateway-provided type that is not locally available returns no content.\n * Response code 204 - No model information is available for the requested asset type\n * HTTP GET /model/assetInfo/{assetType}\n * Java method: org.openremote.model.asset.AssetModelResource.getAssetInfo\n */\n getAssetInfo(assetType: string, queryParams?: { parentId?: string; }, options?: O): RestResponse<Model.AssetTypeInfo> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`model/assetInfo/${assetType}`, queryParams: queryParams, options: options });\n }\n\n /**\n * Returns type metadata from this Manager by default. When parentId identifies an asset below a gateway, the gateway's model is used instead; parentType can provide type context for a new parent that does not yet exist.\n * HTTP GET /model/assetInfos\n * Java method: org.openremote.model.asset.AssetModelResource.getAssetInfos\n */\n getAssetInfos(queryParams?: { parentId?: string; parentType?: string; }, options?: O): RestResponse<Model.AssetTypeInfo[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`model/assetInfos`, queryParams: queryParams, options: options });\n }\n\n /**\n * Returns the JSON Schema and a weak ETag for the named value descriptor. Send If-None-Match on later requests to receive 304 when the schema has not changed.\n * Response code 200 - The current JSON Schema\n * Response code 304 - The supplied ETag still identifies the current schema\n * HTTP GET /model/getValueDescriptorSchema\n * Java method: org.openremote.model.asset.AssetModelResource.getValueDescriptorSchema\n */\n getValueDescriptorSchema(queryParams?: { name?: string; }, options?: O): RestResponse<any> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`model/getValueDescriptorSchema`, queryParams: queryParams, options: options });\n }\n\n /**\n * Returns attribute metadata descriptors keyed by descriptor name, using a gateway model when parentId resolves below a gateway.\n * HTTP GET /model/metaItemDescriptors\n * Java method: org.openremote.model.asset.AssetModelResource.getMetaItemDescriptors\n */\n getMetaItemDescriptors(queryParams?: { parentId?: string; }, options?: O): RestResponse<{ [index: string]: Model.MetaItemDescriptor }> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`model/metaItemDescriptors`, queryParams: queryParams, options: options });\n }\n\n /**\n * Returns attribute value descriptors keyed by descriptor name, using a gateway model when parentId resolves below a gateway.\n * HTTP GET /model/valueDescriptors\n * Java method: org.openremote.model.asset.AssetModelResource.getValueDescriptors\n */\n getValueDescriptors(queryParams?: { parentId?: string; }, options?: O): RestResponse<{ [index: string]: Model.ValueDescriptor }> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`model/valueDescriptors`, queryParams: queryParams, options: options });\n }\n}\n\nexport class SyslogResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Returns the current log-storage and retention configuration.\n * HTTP GET /syslog/config\n * Java method: org.openremote.model.syslog.SyslogResource.getConfig\n */\n getConfig(options?: O): RestResponse<Model.SyslogConfig> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`syslog/config`, options: options });\n }\n\n /**\n * Validates and applies log-storage and retention settings.\n * HTTP PUT /syslog/config\n * Java method: org.openremote.model.syslog.SyslogResource.updateConfig\n */\n updateConfig(config: Model.SyslogConfig, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`syslog/config`, data: config, options: options });\n }\n\n /**\n * Permanently removes all events from the configured syslog storage.\n * HTTP DELETE /syslog/event\n * Java method: org.openremote.model.syslog.SyslogResource.clearEvents\n */\n clearEvents(options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`syslog/event`, options: options });\n }\n\n /**\n * Returns a page of log events filtered by severity, Unix-millisecond time range, categories, and subcategories. RFC 8288 Link headers point to the next and last pages.\n * Response code 200 - The requested page of syslog events\n * HTTP GET /syslog/event\n * Java method: org.openremote.model.syslog.SyslogResource.getEvents\n */\n getEvents(queryParams?: { level?: Model.SyslogLevel; per_page?: number; page?: number; from?: number; to?: number; category?: Model.SyslogCategory[]; subCategory?: string[]; }, options?: O): RestResponse<any> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`syslog/event`, queryParams: queryParams, options: options });\n }\n}\n\nexport class ProvisioningResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Persists a new provisioning configuration and returns its generated numeric identifier. This operation is restricted to a super administrator.\n * HTTP POST /provisioning\n * Java method: org.openremote.model.provisioning.ProvisioningResource.createProvisioningConfig\n */\n createProvisioningConfig(provisioningConfig: Model.ProvisioningConfigUnion<any, any>, options?: O): RestResponse<number> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`provisioning`, data: provisioningConfig, options: options });\n }\n\n /**\n * Returns every provisioning configuration. This operation is restricted to a super administrator.\n * HTTP GET /provisioning\n * Java method: org.openremote.model.provisioning.ProvisioningResource.getProvisioningConfigs\n */\n getProvisioningConfigs(options?: O): RestResponse<Model.ProvisioningConfigUnion<any, any>[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`provisioning`, options: options });\n }\n\n /**\n * Permanently removes the provisioning configuration identified by the path. This operation is restricted to a super administrator.\n * HTTP DELETE /provisioning/{id}\n * Java method: org.openremote.model.provisioning.ProvisioningResource.deleteProvisioningConfig\n */\n deleteProvisioningConfig(id: number, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`provisioning/${id}`, options: options });\n }\n\n /**\n * Replaces the provisioning configuration identified by the path. This operation is restricted to a super administrator.\n * HTTP PUT /provisioning/{id}\n * Java method: org.openremote.model.provisioning.ProvisioningResource.updateProvisioningConfig\n */\n updateProvisioningConfig(id: number, provisioningConfig: Model.ProvisioningConfigUnion<any, any>, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`provisioning/${id}`, data: provisioningConfig, options: options });\n }\n}\n\nexport class ConfigurationResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Returns the public Manager application configuration used by clients before and after authentication.\n * HTTP GET /configuration/manager\n * Java method: org.openremote.model.manager.ConfigurationResource.getManagerConfig\n */\n getManagerConfig(options?: O): RestResponse<Model.ManagerAppConfig> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`configuration/manager`, options: options });\n }\n\n /**\n * Replaces manager_config.json and returns the stored configuration. This administrative change affects Manager UI branding and behavior.\n * HTTP PUT /configuration/manager\n * Java method: org.openremote.model.manager.ConfigurationResource.update\n */\n update(managerConfiguration: Model.ManagerAppConfig, options?: O): RestResponse<Model.ManagerAppConfig> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`configuration/manager`, data: managerConfiguration, options: options });\n }\n\n /**\n * Decodes and stores the supplied FileInfo under the requested relative path, then returns its Manager API path.\n * HTTP POST /configuration/manager/file\n * Java method: org.openremote.model.manager.ConfigurationResource.fileUpload\n */\n fileUpload(fileInfo: Model.FileInfo, queryParams?: { path?: string; }, options?: O): RestResponse<string> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`configuration/manager/file`, queryParams: queryParams, data: fileInfo, options: options });\n }\n\n /**\n * Streams a previously uploaded configuration image using its detected media type.\n * Response code 200 - The image file\n * HTTP GET /configuration/manager/image/{filename: .+}\n * Java method: org.openremote.model.manager.ConfigurationResource.getManagerConfigImage\n */\n getManagerConfigImage(filename: string, options?: O): RestResponse<any> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`configuration/manager/image/${filename}`, options: options });\n }\n}\n\nexport class AlarmResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Creates a manual alarm in an accessible realm and optionally links it to the supplied asset IDs. The authenticated user or client becomes the alarm source.\n * HTTP POST /alarm\n * Java method: org.openremote.model.alarm.AlarmResource.createAlarm\n */\n createAlarm(alarm: Model.Alarm, queryParams?: { assetIds?: string[]; }, options?: O): RestResponse<Model.SentAlarm> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`alarm`, queryParams: queryParams, data: alarm, options: options });\n }\n\n /**\n * Returns alarms in the requested accessible realm, optionally filtered by status, linked asset, or assignee. When realm is omitted, the authenticated realm is used.\n * HTTP GET /alarm\n * Java method: org.openremote.model.alarm.AlarmResource.getAlarms\n */\n getAlarms(queryParams?: { realm?: string; status?: Model.AlarmStatus; assetId?: string; assigneeId?: string; }, options?: O): RestResponse<Model.SentAlarm[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`alarm`, queryParams: queryParams, options: options });\n }\n\n /**\n * Permanently removes all alarms identified by the request body after verifying access to every alarm's realm.\n * HTTP DELETE /alarm\n * Java method: org.openremote.model.alarm.AlarmResource.removeAlarms\n */\n removeAlarms(ids: number[], options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`alarm`, data: ids, options: options });\n }\n\n /**\n * Adds links between assets and one existing alarm.\n\nThe request body is a list for backward compatibility, but this operation now has single-alarm semantics:\nevery item must contain the same `id.realm` and the same `id.alarmId`. The alarm must exist in that realm,\nevery asset must exist in the same realm, and the authenticated user must have access to that realm. Requests\ncontaining mixed alarm IDs or realms are rejected as bad requests.\n\nExisting links are left unchanged; duplicate links in the request or links that already exist are ignored.\nThis operation does not remove existing links from the alarm.\n\n * HTTP PUT /alarm/assets\n * Java method: org.openremote.model.alarm.AlarmResource.setAssetLinks\n */\n setAssetLinks(links: Model.AlarmAssetLink[], options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`alarm/assets`, data: links, options: options });\n }\n\n /**\n * Returns one alarm when its realm is active and accessible to the authenticated user.\n * HTTP GET /alarm/{alarmId}\n * Java method: org.openremote.model.alarm.AlarmResource.getAlarm\n */\n getAlarm(alarmId: number, options?: O): RestResponse<Model.SentAlarm> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`alarm/${alarmId}`, options: options });\n }\n\n /**\n * Permanently removes one alarm after verifying access to its realm.\n * HTTP DELETE /alarm/{alarmId}\n * Java method: org.openremote.model.alarm.AlarmResource.removeAlarm\n */\n removeAlarm(alarmId: number, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`alarm/${alarmId}`, options: options });\n }\n\n /**\n * Updates the mutable state of an existing alarm after verifying access to its current realm.\n * HTTP PUT /alarm/{alarmId}\n * Java method: org.openremote.model.alarm.AlarmResource.updateAlarm\n */\n updateAlarm(alarmId: number, alarm: Model.SentAlarm, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`alarm/${alarmId}`, data: alarm, options: options });\n }\n\n /**\n * Returns links from the alarm to assets in the explicitly supplied accessible realm.\n * HTTP GET /alarm/{alarmId}/assets\n * Java method: org.openremote.model.alarm.AlarmResource.getAssetLinks\n */\n getAssetLinks(alarmId: number, queryParams?: { realm?: string; }, options?: O): RestResponse<Model.AlarmAssetLink[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`alarm/${alarmId}/assets`, queryParams: queryParams, options: options });\n }\n}\n\nexport class StatusResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Returns health data keyed by registered health-provider name. A null provider result is represented as JSON null.\n * HTTP GET /health\n * Java method: org.openremote.model.system.StatusResource.getHealthStatus\n */\n getHealthStatus(options?: O): RestResponse<{ [index: string]: any }> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`health`, options: options });\n }\n\n /**\n * Returns public bootstrap information, including the Manager version and identity-provider URL.\n * HTTP GET /info\n * Java method: org.openremote.model.system.StatusResource.getInfo\n */\n getInfo(options?: O): RestResponse<{ [index: string]: any }> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`info`, options: options });\n }\n}\n\nexport class NotificationResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Returns sent-notification records filtered by identity, message type, time, realm, target, source, sorting, and pagination. Results are realm-scoped and sensitive target/source identifiers are redacted when the caller lacks user or asset read permission.\n * HTTP GET /notification\n * Java method: org.openremote.model.notification.NotificationResource.getNotifications\n */\n getNotifications(queryParams?: { id?: number; type?: string; from?: number; to?: number; realmId?: string; userId?: string; assetId?: string; source?: Model.NotificationSource; sort?: Model.SentNotificationSortField; descending?: boolean; offset?: number; limit?: number; }, options?: O): RestResponse<Model.SentNotification[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`notification`, queryParams: queryParams, options: options });\n }\n\n /**\n * Permanently removes all records matching the optional ID, type, time, realm, user, and asset filters. This bulk operation is restricted to a super user.\n * HTTP DELETE /notification\n * Java method: org.openremote.model.notification.NotificationResource.removeNotifications\n */\n removeNotifications(queryParams?: { id?: number; type?: string; from?: number; to?: number; realmId?: string; userId?: string; assetId?: string; }, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`notification`, queryParams: queryParams, options: options });\n }\n\n /**\n * Queues a notification for delivery. Authorization is checked for every target; if any target is inaccessible, the complete request fails rather than sending a partial set.\n * HTTP POST /notification/alert\n * Java method: org.openremote.model.notification.NotificationResource.sendNotification\n */\n sendNotification(notification: Model.Notification, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`notification/alert`, data: notification, options: options });\n }\n\n /**\n * Returns the count for the same realm-scoped type, time, target, and source filters supported by getNotifications without loading notification records.\n * HTTP GET /notification/count\n * Java method: org.openremote.model.notification.NotificationResource.getNotificationsCount\n */\n getNotificationsCount(queryParams?: { type?: string; from?: number; to?: number; realmId?: string; userId?: string; assetId?: string; source?: Model.NotificationSource; }, options?: O): RestResponse<number> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`notification/count`, queryParams: queryParams, options: options });\n }\n\n /**\n * Permanently removes one sent-notification record. This operation is restricted to a super user and is idempotent when the ID does not exist.\n * HTTP DELETE /notification/{notificationId}\n * Java method: org.openremote.model.notification.NotificationResource.removeNotification\n */\n removeNotification(notificationId: number, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`notification/${notificationId}`, options: options });\n }\n\n /**\n * Marks one target's notification as acknowledged and stores the optional JSON acknowledgement value. Access rules are identical to notificationDelivered.\n * HTTP PUT /notification/{notificationId}/acknowledged\n * Java method: org.openremote.model.notification.NotificationResource.notificationAcknowledged\n */\n notificationAcknowledged(notificationId: number, acknowledgement: any, queryParams?: { targetId?: string; }, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`notification/${notificationId}/acknowledged`, queryParams: queryParams, data: acknowledgement, options: options });\n }\n\n /**\n * Marks one target's notification as delivered after matching both notificationId and targetId. Anonymous callers may update notifications sent to a public asset; authenticated callers are constrained to their own user, realm, or accessible assets.\n * HTTP PUT /notification/{notificationId}/delivered\n * Java method: org.openremote.model.notification.NotificationResource.notificationDelivered\n */\n notificationDelivered(notificationId: number, queryParams?: { targetId?: string; }, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`notification/${notificationId}/delivered`, queryParams: queryParams, options: options });\n }\n}\n\nexport class DashboardResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Creates a dashboard in an accessible realm. The server assigns the authenticated user as owner and initially stores the dashboard with shared access.\n * HTTP POST /dashboard\n * Java method: org.openremote.model.dashboard.DashboardResource.create\n */\n create(dashboard: Model.Dashboard, options?: O): RestResponse<Model.Dashboard> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`dashboard`, data: dashboard, options: options });\n }\n\n /**\n * Updates an existing dashboard when the authenticated user can modify it in the dashboard's realm.\n * HTTP PUT /dashboard\n * Java method: org.openremote.model.dashboard.DashboardResource.update\n */\n update(dashboard: Model.Dashboard, options?: O): RestResponse<Model.Dashboard> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`dashboard`, data: dashboard, options: options });\n }\n\n /**\n * Returns dashboards visible to the caller in the requested realm. Anonymous callers receive public dashboards only; authenticated access also depends on roles, ownership, and linked assets.\n * HTTP GET /dashboard/all/{realm}\n * Java method: org.openremote.model.dashboard.DashboardResource.getAllRealmDashboards\n */\n getAllRealmDashboards(realm: string, options?: O): RestResponse<Model.Dashboard[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`dashboard/all/${realm}`, options: options });\n }\n\n /**\n * Executes a dashboard query after constraining it to the caller's realm, roles, ownership, and asset access. A missing body uses the request realm and default visibility rules.\n * HTTP POST /dashboard/query\n * Java method: org.openremote.model.dashboard.DashboardResource.query\n */\n query(dashboardQuery: Model.DashboardQuery, options?: O): RestResponse<Model.Dashboard[]> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`dashboard/query`, data: dashboardQuery, options: options });\n }\n\n /**\n * Permanently removes a dashboard when the authenticated user can modify it in the requested realm.\n * HTTP DELETE /dashboard/{realm}/{dashboardId}\n * Java method: org.openremote.model.dashboard.DashboardResource.delete\n */\n delete(realm: string, dashboardId: string, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`dashboard/${realm}/${dashboardId}`, options: options });\n }\n\n /**\n * Returns one dashboard only when it is visible to the caller. Inaccessible and nonexistent dashboards both return 404 to avoid disclosing their existence.\n * HTTP GET /dashboard/{realm}/{dashboardId}\n * Java method: org.openremote.model.dashboard.DashboardResource.get\n */\n get(realm: string, dashboardId: string, options?: O): RestResponse<Model.Dashboard> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`dashboard/${realm}/${dashboardId}`, options: options });\n }\n}\n\nexport class RealmResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Creates and configures a realm in the identity provider. This operation is restricted to a super user.\n * HTTP POST /realm\n * Java method: org.openremote.model.security.RealmResource.create\n */\n create(realm: Model.Realm, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`realm`, data: realm, options: options });\n }\n\n /**\n * Returns complete realm records from the identity provider. This operation is restricted to a super user.\n * HTTP GET /realm\n * Java method: org.openremote.model.security.RealmResource.getAll\n */\n getAll(options?: O): RestResponse<Model.Realm[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`realm`, options: options });\n }\n\n /**\n * Returns only realm name and display name. Super users receive all realms; authenticated users receive their realm; anonymous callers receive the request realm.\n * HTTP GET /realm/accessible\n * Java method: org.openremote.model.security.RealmResource.getAccessible\n */\n getAccessible(options?: O): RestResponse<Model.Realm[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`realm/accessible`, options: options });\n }\n\n /**\n * Permanently deletes a realm from the identity provider. The master realm cannot be deleted; related Manager data is not automatically removed.\n * Response code 405 - The master realm cannot be deleted\n * HTTP DELETE /realm/{name}\n * Java method: org.openremote.model.security.RealmResource.delete\n */\n delete(name: string, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`realm/${name}`, options: options });\n }\n\n /**\n * Returns complete details for a named active realm when it is accessible to the caller. Regular users cannot use this endpoint to inspect other realms.\n * HTTP GET /realm/{name}\n * Java method: org.openremote.model.security.RealmResource.get\n */\n get(name: string, options?: O): RestResponse<Model.Realm> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`realm/${name}`, options: options });\n }\n\n /**\n * Updates a realm through the identity provider. Super-user access is required; the master realm cannot be renamed or disabled.\n * Response code 405 - The requested mutation is not allowed for the master realm\n * HTTP PUT /realm/{name}\n * Java method: org.openremote.model.security.RealmResource.update\n */\n update(name: string, realm: Model.Realm, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`realm/${name}`, data: realm, options: options });\n }\n}\n\nexport class ConsoleResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Creates an anonymous console registration when id is absent, or updates an existing registration when id is present. Authenticated new registrations are linked to the caller; updates require that link. The returned registration contains the durable asset ID for later calls.\n * HTTP POST /console/register\n * Java method: org.openremote.model.console.ConsoleResource.register\n */\n register(consoleRegistration: Model.ConsoleRegistration, options?: O): RestResponse<Model.ConsoleRegistration> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`console/register`, data: consoleRegistration, options: options });\n }\n}\n\nexport class AssetPredictedDatapointResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Queries predicted values for one attribute using the supplied time-range and aggregation criteria. Anonymous access requires public-read access on both asset and attribute.\n * HTTP POST /asset/predicted/{assetId}/{attributeName}\n * Java method: org.openremote.model.datapoint.AssetPredictedDatapointResource.getPredictedDatapoints\n */\n getPredictedDatapoints(assetId: string, attributeName: string, query: Model.AssetDatapointQueryUnion, options?: O): RestResponse<Model.ValueDatapoint<any>[]> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`asset/predicted/${assetId}/${attributeName}`, data: query, options: options });\n }\n\n /**\n * Replaces or adds predicted values for one attribute. Anonymous access is allowed only when the asset and attribute are public-write; authenticated callers require attribute-write access.\n * HTTP PUT /asset/predicted/{assetId}/{attributeName}\n * Java method: org.openremote.model.datapoint.AssetPredictedDatapointResource.writePredictedDatapoints\n */\n writePredictedDatapoints(assetId: string, attributeName: string, predictedDatapoints: Model.ValueDatapoint<any>[], options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`asset/predicted/${assetId}/${attributeName}`, data: predictedDatapoints, options: options });\n }\n}\n\nexport class AgentResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Runs the agent protocol's asset discovery, waits up to ten seconds for results, returns the discovered tree, and asynchronously persists discovered assets below the agent.\n * HTTP GET /agent/assetDiscovery/{agentId}\n * Java method: org.openremote.model.asset.agent.AgentResource.doProtocolAssetDiscovery\n */\n doProtocolAssetDiscovery(agentId: string, queryParams?: { realm?: string; }, options?: O): RestResponse<Model.AssetTreeNode[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`agent/assetDiscovery/${agentId}`, queryParams: queryParams, options: options });\n }\n\n /**\n * Decodes the supplied FileInfo, asks the agent protocol to import it, persists the returned asset tree below the agent, and returns that tree.\n * Response code 405 - The selected agent protocol does not support asset import\n * HTTP POST /agent/assetImport/{agentId}\n * Java method: org.openremote.model.asset.agent.AgentResource.doProtocolAssetImport\n */\n doProtocolAssetImport(agentId: string, fileInfo: Model.FileInfo, queryParams?: { realm?: string; }, options?: O): RestResponse<Model.AssetTreeNode[]> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`agent/assetImport/${agentId}`, queryParams: queryParams, data: fileInfo, options: options });\n }\n\n /**\n * Runs instance discovery for an agent type and returns candidate Agent assets. parentId selects local versus edge-gateway discovery; non-super users are always constrained to their authenticated realm.\n * Response code 415 - The selected agent protocol does not support instance discovery\n * HTTP GET /agent/instanceDiscovery/{agentType}\n * Java method: org.openremote.model.asset.agent.AgentResource.doProtocolInstanceDiscovery\n */\n doProtocolInstanceDiscovery(agentType: string, queryParams?: { parentId?: string; realm?: string; }, options?: O): RestResponse<Model.Agent[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`agent/instanceDiscovery/${agentType}`, queryParams: queryParams, options: options });\n }\n}\n\nexport class AssetResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Creates an asset in an accessible realm and returns the persisted representation. The server generates an ID when absent; supplied IDs must be globally unique and 22 characters long.\n * HTTP POST /asset\n * Java method: org.openremote.model.asset.AssetResource.create\n */\n create(asset: Model.Asset, options?: O): RestResponse<Model.Asset> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`asset`, data: asset, options: options });\n }\n\n /**\n * Permanently deletes every asset identified by repeated assetId query parameters, subject to realm and restricted-user access rules.\n * HTTP DELETE /asset\n * Java method: org.openremote.model.asset.AssetResource.delete\n */\n delete(queryParams?: { assetId?: string[]; }, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`asset`, queryParams: queryParams, options: options });\n }\n\n /**\n * Submits a batch of attribute states using current server time and returns one result per input item. Authorization and processing failures are encoded in each AttributeWriteResult rather than returned as an HTTP error.\n * HTTP PUT /asset/attributes\n * Java method: org.openremote.model.asset.AssetResource.writeAttributeValues\n */\n writeAttributeValues(attributeStates: Model.AttributeState[], options?: O): RestResponse<Model.AttributeWriteResult[]> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`asset/attributes`, data: attributeStates, options: options });\n }\n\n /**\n * Submits a batch of complete attribute events and returns one result per input item. Supplied timestamps are preserved; authorization and processing failures are encoded per result rather than returned as an HTTP error.\n * HTTP PUT /asset/attributes/timestamp\n * Java method: org.openremote.model.asset.AssetResource.writeAttributeEvents\n */\n writeAttributeEvents(attributeEvents: Model.AttributeEvent[], options?: O): RestResponse<Model.AttributeWriteResult[]> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`asset/attributes/timestamp`, data: attributeEvents, options: options });\n }\n\n /**\n * Returns only the number of assets matching an AssetQuery after applying the caller's realm, public, and linked-asset access constraints.\n * HTTP POST /asset/count\n * Java method: org.openremote.model.asset.AssetResource.queryCount\n */\n queryCount(query: Model.AssetQuery, options?: O): RestResponse<number> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`asset/count`, data: query, options: options });\n }\n\n /**\n * Clears the parent reference of every asset listed in repeated assetIds query parameters.\n * HTTP DELETE /asset/parent\n * Java method: org.openremote.model.asset.AssetResource.updateNoneParent\n */\n updateNoneParent(queryParams?: { assetIds?: string[]; }, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`asset/parent`, queryParams: queryParams, options: options });\n }\n\n /**\n * Returns the asset identity and properties without loading attributes or path data. The same access rules as getAsset apply.\n * HTTP GET /asset/partial/{assetId}\n * Java method: org.openremote.model.asset.AssetResource.getPartial\n */\n getPartial(assetId: string, options?: O): RestResponse<Model.Asset> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`asset/partial/${assetId}`, options: options });\n }\n\n /**\n * Executes an AssetQuery after constraining realm and linked-asset access. Anonymous callers receive public-readable assets only; the query select clause controls which fields are populated.\n * HTTP POST /asset/query\n * Java method: org.openremote.model.asset.AssetResource.queryAssets\n */\n queryAssets(query: Model.AssetQuery, options?: O): RestResponse<Model.Asset[]> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`asset/query`, data: query, options: options });\n }\n\n /**\n * Applies the same authorization and selection rules as queryAssets, then returns a hierarchy optimized for tree display rather than a flat asset array.\n * HTTP POST /asset/tree\n * Java method: org.openremote.model.asset.AssetResource.queryAssetTree\n */\n queryAssetTree(query: Model.AssetQuery, options?: O): RestResponse<Model.AssetTree> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`asset/tree`, data: query, options: options });\n }\n\n /**\n * Returns partial linked assets for a restricted user, root assets for an unrestricted realm user, and an empty array for a super user. Attributes and paths are omitted; use getAsset for full details.\n * HTTP GET /asset/user/current\n * Java method: org.openremote.model.asset.AssetResource.getCurrentUserAssets\n */\n getCurrentUserAssets(options?: O): RestResponse<Model.Asset[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`asset/user/current`, options: options });\n }\n\n /**\n * Creates all supplied links as one operation. Every item must identify the same realm and user, and every referenced realm, user, and asset must exist.\n * HTTP POST /asset/user/link\n * Java method: org.openremote.model.asset.AssetResource.createUserAssetLinks\n */\n createUserAssetLinks(userAssets: Model.UserAssetLink[], options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`asset/user/link`, data: userAssets, options: options });\n }\n\n /**\n * Returns user-asset links in the required realm, optionally filtered by userId and assetId. Missing users or assets produce an empty result; restricted users cannot call this operation.\n * HTTP GET /asset/user/link\n * Java method: org.openremote.model.asset.AssetResource.getUserAssetLinks\n */\n getUserAssetLinks(queryParams?: { realm?: string; userId?: string; assetId?: string; }, options?: O): RestResponse<Model.UserAssetLink[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`asset/user/link`, queryParams: queryParams, options: options });\n }\n\n /**\n * Removes all supplied links. Every item must identify the same realm and user.\n * HTTP POST /asset/user/link/delete\n * Java method: org.openremote.model.asset.AssetResource.deleteUserAssetLinks\n */\n deleteUserAssetLinks(userAssets: Model.UserAssetLink[], options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`asset/user/link/delete`, data: userAssets, options: options });\n }\n\n /**\n * Removes every asset link belonging to the user in the requested realm.\n * HTTP DELETE /asset/user/link/{realm}/{userId}\n * Java method: org.openremote.model.asset.AssetResource.deleteAllUserAssetLinks\n */\n deleteAllUserAssetLinks(realm: string, userId: string, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`asset/user/link/${realm}/${userId}`, options: options });\n }\n\n /**\n * Removes the link identified by realm, user, and asset. The caller must be allowed to administer asset links in that realm.\n * HTTP DELETE /asset/user/link/{realm}/{userId}/{assetId}\n * Java method: org.openremote.model.asset.AssetResource.deleteUserAssetLink\n */\n deleteUserAssetLink(realm: string, userId: string, assetId: string, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`asset/user/link/${realm}/${userId}/${assetId}`, options: options });\n }\n\n /**\n * Returns a fully loaded asset including its path and attributes. Access is constrained to the caller's realm and, for restricted users, linked assets.\n * HTTP GET /asset/{assetId}\n * Java method: org.openremote.model.asset.AssetResource.get\n */\n get(assetId: string, options?: O): RestResponse<Model.Asset> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`asset/${assetId}`, options: options });\n }\n\n /**\n * Replaces mutable asset data while preserving the path identifier. Realm, parent, restricted-user, and private-metadata rules are validated; disallowed restricted-user fields may be ignored.\n * HTTP PUT /asset/{assetId}\n * Java method: org.openremote.model.asset.AssetResource.update\n */\n update(assetId: string, asset: Model.Asset, options?: O): RestResponse<Model.Asset> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`asset/${assetId}`, data: asset, options: options });\n }\n\n /**\n * Submits an asynchronous attribute write using the current server time. The result reports whether the event was accepted, not whether downstream processing ultimately succeeded. Anonymous writes require public-write metadata.\n * Response code 400 - The attribute write failed\n * Response code 406 - The supplied value is not valid for the attribute\n * Response code 429 - The attribute event queue is full; retry the write later\n * HTTP PUT /asset/{assetId}/attribute/{attributeName}\n * Java method: org.openremote.model.asset.AssetResource.writeAttributeValue\n */\n writeAttributeValue$PUT$asset_assetId_attribute_attributeName(assetId: string, attributeName: string, value: any, options?: O): RestResponse<Model.AttributeWriteResult> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`asset/${assetId}/attribute/${attributeName}`, data: value, options: options });\n }\n\n /**\n * Submits an asynchronous attribute write using the supplied Unix timestamp in milliseconds. The result reports acceptance only; anonymous writes require public-write metadata.\n * Response code 400 - The attribute write failed\n * Response code 406 - The supplied value is not valid for the attribute\n * Response code 429 - The attribute event queue is full; retry the write later\n * HTTP PUT /asset/{assetId}/attribute/{attributeName}/{timestamp}\n * Java method: org.openremote.model.asset.AssetResource.writeAttributeValue\n */\n writeAttributeValue$PUT$asset_assetId_attribute_attributeName_timestamp(assetId: string, attributeName: string, timestamp: number, value: any, options?: O): RestResponse<Model.AttributeWriteResult> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`asset/${assetId}/attribute/${attributeName}/${timestamp}`, data: value, options: options });\n }\n\n /**\n * Sets parentAssetId as the parent of every asset listed in repeated assetIds query parameters. Parent and children must satisfy realm, access, and hierarchy constraints.\n * HTTP PUT /asset/{parentAssetId}/child\n * Java method: org.openremote.model.asset.AssetResource.updateParent\n */\n updateParent(parentAssetId: string, queryParams?: { assetIds?: string[]; }, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`asset/${parentAssetId}/child`, queryParams: queryParams, options: options });\n }\n}\n\nexport class RulesResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Creates and deploys a global ruleset and returns its numeric ID. Super-user access is required; legacy JavaScript rulesets cannot be created.\n * HTTP POST /rules\n * Java method: org.openremote.model.rules.RulesResource.createGlobalRuleset\n */\n createGlobalRuleset(ruleset: Model.GlobalRuleset, options?: O): RestResponse<number> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`rules`, data: ruleset, options: options });\n }\n\n /**\n * Returns global rulesets filtered by repeated language parameters. fullyPopulate controls whether rule source and other large fields are loaded; super-user access is required.\n * HTTP GET /rules\n * Java method: org.openremote.model.rules.RulesResource.getGlobalRulesets\n */\n getGlobalRulesets(queryParams?: { language?: Model.RulesetLang[]; fullyPopulate?: boolean; }, options?: O): RestResponse<Model.GlobalRuleset[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules`, queryParams: queryParams, options: options });\n }\n\n /**\n * Creates and deploys a ruleset for an accessible asset and returns its numeric ID. The assetId is taken from the request body.\n * HTTP POST /rules/asset\n * Java method: org.openremote.model.rules.RulesResource.createAssetRuleset\n */\n createAssetRuleset(ruleset: Model.AssetRuleset, options?: O): RestResponse<number> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`rules/asset`, data: ruleset, options: options });\n }\n\n /**\n * Returns asset rulesets filtered by language. Callers without full access receive public rulesets only; a nonexistent asset produces an empty array.\n * HTTP GET /rules/asset/for/{assetId}\n * Java method: org.openremote.model.rules.RulesResource.getAssetRulesets\n */\n getAssetRulesets(assetId: string, queryParams?: { language?: Model.RulesetLang[]; fullyPopulate?: boolean; }, options?: O): RestResponse<Model.AssetRuleset[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules/asset/for/${assetId}`, queryParams: queryParams, options: options });\n }\n\n /**\n * Permanently removes and undeploys one ruleset from an accessible asset.\n * HTTP DELETE /rules/asset/{id}\n * Java method: org.openremote.model.rules.RulesResource.deleteAssetRuleset\n */\n deleteAssetRuleset(id: number, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`rules/asset/${id}`, options: options });\n }\n\n /**\n * Returns one fully populated asset ruleset when the caller can access its realm and owning asset.\n * HTTP GET /rules/asset/{id}\n * Java method: org.openremote.model.rules.RulesResource.getAssetRuleset\n */\n getAssetRuleset(id: number, options?: O): RestResponse<Model.AssetRuleset> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules/asset/${id}`, options: options });\n }\n\n /**\n * Replaces and redeploys one asset ruleset. The ID must match and an existing ruleset cannot be reassigned to another asset.\n * HTTP PUT /rules/asset/{id}\n * Java method: org.openremote.model.rules.RulesResource.updateAssetRuleset\n */\n updateAssetRuleset(id: number, ruleset: Model.AssetRuleset, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`rules/asset/${id}`, data: ruleset, options: options });\n }\n\n /**\n * Extracts geofence definitions relevant to the asset. Anonymous access requires a public-readable asset; authenticated restricted users require an asset link.\n * HTTP GET /rules/geofences/{assetId}\n * Java method: org.openremote.model.rules.RulesResource.getAssetGeofences\n */\n getAssetGeofences(assetId: string, options?: O): RestResponse<Model.GeofenceDefinition[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules/geofences/${assetId}`, options: options });\n }\n\n /**\n * Returns runtime status and error counts for an accessible asset engine. Returns null when the asset or its engine does not exist.\n * Response code 204 - The asset or its rules engine does not exist\n * HTTP GET /rules/info/asset/{assetId}\n * Java method: org.openremote.model.rules.RulesResource.getAssetEngineInfo\n */\n getAssetEngineInfo(assetId: string, options?: O): RestResponse<Model.RulesEngineInfo> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules/info/asset/${assetId}`, options: options });\n }\n\n /**\n * Returns runtime status and compilation/execution error counts for the global engine, or null when that engine is not running. Super-user access is required.\n * Response code 204 - The global rules engine is not running\n * HTTP GET /rules/info/global\n * Java method: org.openremote.model.rules.RulesResource.getGlobalEngineInfo\n */\n getGlobalEngineInfo(options?: O): RestResponse<Model.RulesEngineInfo> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules/info/global`, options: options });\n }\n\n /**\n * Returns runtime status and error counts for an accessible realm engine, or null when that engine is not running. Restricted users cannot inspect realm engines.\n * Response code 204 - The requested realm rules engine is not running\n * HTTP GET /rules/info/realm/{realm}\n * Java method: org.openremote.model.rules.RulesResource.getRealmEngineInfo\n */\n getRealmEngineInfo(realm: string, options?: O): RestResponse<Model.RulesEngineInfo> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules/info/realm/${realm}`, options: options });\n }\n\n /**\n * Creates and deploys a ruleset in its body realm and returns its numeric ID. Restricted users cannot create realm rulesets; legacy JavaScript is not accepted.\n * HTTP POST /rules/realm\n * Java method: org.openremote.model.rules.RulesResource.createRealmRuleset\n */\n createRealmRuleset(ruleset: Model.RealmRuleset, options?: O): RestResponse<number> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`rules/realm`, data: ruleset, options: options });\n }\n\n /**\n * Returns realm rulesets filtered by language. Anonymous, restricted, or callers without read-rules permission receive public rulesets only; fullyPopulate controls loading of rule source.\n * HTTP GET /rules/realm/for/{realm}\n * Java method: org.openremote.model.rules.RulesResource.getRealmRulesets\n */\n getRealmRulesets(realm: string, queryParams?: { language?: Model.RulesetLang[]; fullyPopulate?: boolean; }, options?: O): RestResponse<Model.RealmRuleset[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules/realm/for/${realm}`, queryParams: queryParams, options: options });\n }\n\n /**\n * Permanently removes and undeploys one ruleset from an accessible realm.\n * HTTP DELETE /rules/realm/{id}\n * Java method: org.openremote.model.rules.RulesResource.deleteRealmRuleset\n */\n deleteRealmRuleset(id: number, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`rules/realm/${id}`, options: options });\n }\n\n /**\n * Returns one fully populated realm ruleset when its realm is accessible to the caller.\n * HTTP GET /rules/realm/{id}\n * Java method: org.openremote.model.rules.RulesResource.getRealmRuleset\n */\n getRealmRuleset(id: number, options?: O): RestResponse<Model.RealmRuleset> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules/realm/${id}`, options: options });\n }\n\n /**\n * Replaces and redeploys one realm ruleset. Path and body IDs and the existing realm must match; legacy JavaScript cannot be updated.\n * HTTP PUT /rules/realm/{id}\n * Java method: org.openremote.model.rules.RulesResource.updateRealmRuleset\n */\n updateRealmRuleset(id: number, ruleset: Model.RealmRuleset, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`rules/realm/${id}`, data: ruleset, options: options });\n }\n\n /**\n * Permanently removes and undeploys one global ruleset. Super-user access is required.\n * HTTP DELETE /rules/{id}\n * Java method: org.openremote.model.rules.RulesResource.deleteGlobalRuleset\n */\n deleteGlobalRuleset(id: number, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`rules/${id}`, options: options });\n }\n\n /**\n * Returns one fully populated global ruleset including transient deployment status and errors. Super-user access is required.\n * HTTP GET /rules/{id}\n * Java method: org.openremote.model.rules.RulesResource.getGlobalRuleset\n */\n getGlobalRuleset(id: number, options?: O): RestResponse<Model.GlobalRuleset> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`rules/${id}`, options: options });\n }\n\n /**\n * Replaces and redeploys the identified global ruleset. Path and body IDs must match; legacy JavaScript rulesets cannot be updated.\n * HTTP PUT /rules/{id}\n * Java method: org.openremote.model.rules.RulesResource.updateGlobalRuleset\n */\n updateGlobalRuleset(id: number, ruleset: Model.GlobalRuleset, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`rules/${id}`, data: ruleset, options: options });\n }\n}\n\nexport class ExternalServiceResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Returns all active realm-scoped service registrations for an active realm accessible to the caller.\n * Response code 200 - List of registered external services\n * HTTP GET /service\n * Java method: org.openremote.model.services.ExternalServiceResource.getServices\n */\n getServices(queryParams?: { realm?: string; }, options?: O): RestResponse<Model.ExternalService[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`service`, queryParams: queryParams, options: options });\n }\n\n /**\n * Registers a realm-scoped service instance for the request realm. The caller must be a service account; the returned object contains the assigned instance ID and initial lease state.\n * Response code 200 - Service registered successfully\n * Response code 400 - Invalid external service object\n * Response code 409 - ExternalService instance already registered\n * HTTP POST /service\n * Java method: org.openremote.model.services.ExternalServiceResource.registerService\n */\n registerService(service: Model.ExternalService, options?: O): RestResponse<Model.ExternalService> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`service`, data: service, options: options });\n }\n\n /**\n * Returns active registrations marked as globally available across realms.\n * Response code 200 - List of registered external services\n * HTTP GET /service/global\n * Java method: org.openremote.model.services.ExternalServiceResource.getGlobalServices\n */\n getGlobalServices(options?: O): RestResponse<Model.ExternalService[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`service/global`, options: options });\n }\n\n /**\n * Registers a service visible in every realm. The caller must be a super-user service account and the request must use the master realm.\n * Response code 200 - Service registered successfully\n * Response code 400 - Invalid external service object\n * Response code 409 - ExternalService instance already registered\n * HTTP POST /service/global\n * Java method: org.openremote.model.services.ExternalServiceResource.registerGlobalService\n */\n registerGlobalService(service: Model.ExternalService, options?: O): RestResponse<Model.ExternalService> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`service/global`, data: service, options: options });\n }\n\n /**\n * Removes an active service registration. The caller must be the service account that registered it; global-service removal additionally requires a super user.\n * Response code 204 - Service deregistered successfully\n * Response code 404 - Service instance not found\n * HTTP DELETE /service/{serviceId}/{instanceId}\n * Java method: org.openremote.model.services.ExternalServiceResource.deregisterService\n */\n deregisterService(serviceId: string, instanceId: number, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`service/${serviceId}/${instanceId}`, options: options });\n }\n\n /**\n * Returns one registered instance by stable service ID and numeric instance ID, after verifying access to the service's realm.\n * Response code 200 - ExternalService retrieved successfully\n * Response code 404 - ExternalService not found\n * HTTP GET /service/{serviceId}/{instanceId}\n * Java method: org.openremote.model.services.ExternalServiceResource.getService\n */\n getService(serviceId: string, instanceId: number, options?: O): RestResponse<Model.ExternalService> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`service/${serviceId}/${instanceId}`, options: options });\n }\n\n /**\n * Extends the lease of one service instance. The caller must be the service account that registered it; global-service heartbeats additionally require a super user.\n * Response code 204 - Heartbeat sent successfully\n * Response code 404 - Service instance not found\n * HTTP PUT /service/{serviceId}/{instanceId}\n * Java method: org.openremote.model.services.ExternalServiceResource.heartbeat\n */\n heartbeat(serviceId: string, instanceId: number, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`service/${serviceId}/${instanceId}`, options: options });\n }\n}\n\nexport class GatewayClientResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Removes connections for all repeated realm query parameters. Deleting multiple realms is restricted to super users.\n * HTTP DELETE /gateway/connection\n * Java method: org.openremote.model.gateway.GatewayClientResource.deleteConnections\n */\n deleteConnections(queryParams?: { realm?: string[]; }, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`gateway/connection`, queryParams: queryParams, options: options });\n }\n\n /**\n * Returns every configured central-manager connection. Unlike the single-realm endpoint, this operation is restricted to super users.\n * HTTP GET /gateway/connection\n * Java method: org.openremote.model.gateway.GatewayClientResource.getConnections\n */\n getConnections(options?: O): RestResponse<Model.GatewayConnection[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`gateway/connection`, options: options });\n }\n\n /**\n * Removes the central-manager connection for one realm. Realm administrators can remove their own connection; super users can remove any connection.\n * HTTP DELETE /gateway/connection/{realm}\n * Java method: org.openremote.model.gateway.GatewayClientResource.deleteConnection\n */\n deleteConnection(realm: string, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`gateway/connection/${realm}`, options: options });\n }\n\n /**\n * Returns the central-manager connection configured for a realm, or null when none exists. Realm administrators can read their own realm; super users can read any realm.\n * Response code 204 - No gateway connection is configured for the realm\n * HTTP GET /gateway/connection/{realm}\n * Java method: org.openremote.model.gateway.GatewayClientResource.getConnection\n */\n getConnection(realm: string, options?: O): RestResponse<Model.GatewayConnection> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`gateway/connection/${realm}`, options: options });\n }\n\n /**\n * Creates or replaces the connection for the path realm. The server forces the local realm, including realm predicates in attribute filters, to match the path.\n * HTTP PUT /gateway/connection/{realm}\n * Java method: org.openremote.model.gateway.GatewayClientResource.setConnection\n */\n setConnection(realm: string, connection: Model.GatewayConnection, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`gateway/connection/${realm}`, data: connection, options: options });\n }\n\n /**\n * Returns the live connection state for the requested local realm.\n * HTTP GET /gateway/status/{realm}\n * Java method: org.openremote.model.gateway.GatewayClientResource.getConnectionStatus\n */\n getConnectionStatus(realm: string, options?: O): RestResponse<Model.ConnectionStatus> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`gateway/status/${realm}`, options: options });\n }\n}\n\nexport class AssetDatapointResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Streams a ZIP archive containing exported datapoints for one or more attribute references over the requested inclusive time range. attributeRefs is a JSON-encoded array of objects with id and name fields.\n * Response code 200 - A ZIP archive containing the exported data\n * HTTP GET /asset/datapoint/export\n * Java method: org.openremote.model.datapoint.AssetDatapointResource.getDatapointExport\n */\n getDatapointExport(queryParams?: { attributeRefs?: string; fromTimestamp?: number; toTimestamp?: number; format?: Model.DatapointExportFormat; }, options?: O): RestResponse<any> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`asset/datapoint/export`, queryParams: queryParams, options: options });\n }\n\n /**\n * Returns the oldest and newest stored timestamps for one attribute. The asset and attribute must be readable by the authenticated user and configured for datapoint storage.\n * HTTP GET /asset/datapoint/periods\n * Java method: org.openremote.model.datapoint.AssetDatapointResource.getDatapointPeriod\n */\n getDatapointPeriod(queryParams?: { assetId?: string; attributeName?: string; }, options?: O): RestResponse<Model.DatapointPeriod> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`asset/datapoint/periods`, queryParams: queryParams, options: options });\n }\n\n /**\n * Returns stored historical values for one attribute. A null body returns the available series; a polymorphic query body controls the time range and retrieval or aggregation strategy. Anonymous access requires public-read access on both asset and attribute.\n * HTTP POST /asset/datapoint/{assetId}/{attributeName}\n * Java method: org.openremote.model.datapoint.AssetDatapointResource.getDatapoints\n */\n getDatapoints(assetId: string, attributeName: string, query: Model.AssetDatapointQueryUnion, options?: O): RestResponse<Model.ValueDatapoint<any>[]> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`asset/datapoint/${assetId}/${attributeName}`, data: query, options: options });\n }\n}\n\nexport class FlowResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Returns every supported flow node definition except the internal LOG_OUTPUT node.\n * HTTP GET /flow\n * Java method: org.openremote.model.rules.flow.FlowResource.getAllNodeDefinitions\n */\n getAllNodeDefinitions(options?: O): RestResponse<Model.Node[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`flow`, options: options });\n }\n\n /**\n * Resolves one flow node definition by its model name.\n * HTTP GET /flow/{name}\n * Java method: org.openremote.model.rules.flow.FlowResource.getNodeDefinition\n */\n getNodeDefinition(name: string, options?: O): RestResponse<Model.Node> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`flow/${name}`, options: options });\n }\n\n /**\n * Returns supported flow node definitions whose category matches the requested node type.\n * HTTP GET /flow/{type}\n * Java method: org.openremote.model.rules.flow.FlowResource.getAllNodeDefinitionsByType\n */\n getAllNodeDefinitionsByType(type: Model.NodeType, options?: O): RestResponse<Model.Node[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`flow/${type}`, options: options });\n }\n}\n\nexport class AppResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Returns the identifiers of applications installed in the Manager web root.\n * HTTP GET /apps\n * Java method: org.openremote.model.apps.AppResource.getApps\n */\n getApps(options?: O): RestResponse<string[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`apps`, options: options });\n }\n\n /**\n * Loads the public console_config.json document used to configure console clients before sign-in.\n * HTTP GET /apps/consoleConfig\n * Java method: org.openremote.model.apps.AppResource.getConsoleConfig\n */\n getConsoleConfig(options?: O): RestResponse<any> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`apps/consoleConfig`, options: options });\n }\n\n /**\n * Loads each installed application's info.json file and returns the documents keyed by application identifier.\n * HTTP GET /apps/info\n * Java method: org.openremote.model.apps.AppResource.getAppInfos\n */\n getAppInfos(options?: O): RestResponse<{ [index: string]: any }> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`apps/info`, options: options });\n }\n}\n\nexport class UserResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Stores the supplied non-empty locale string as the caller's identity-provider locale attribute.\n * HTTP PUT /user/locale\n * Java method: org.openremote.model.security.UserResource.updateCurrentUserLocale\n */\n updateCurrentUserLocale(locale: string, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/locale`, data: locale, options: options });\n }\n\n /**\n * Executes a UserQuery. Non-super users are forced into their authenticated realm and cannot see system accounts; callers with read-users but not read-admin receive basic fields only.\n * HTTP POST /user/query\n * Java method: org.openremote.model.security.UserResource.query\n */\n query(query: Model.UserQuery, options?: O): RestResponse<Model.User[]> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`user/query`, data: query, options: options });\n }\n\n /**\n * Initiates the identity provider's configured password-reset action for the caller's own account.\n * HTTP PUT /user/request-password-reset\n * Java method: org.openremote.model.security.UserResource.requestPasswordResetCurrent\n */\n requestPasswordResetCurrent(options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/request-password-reset`, options: options });\n }\n\n /**\n * Replaces the caller's own identity-provider credential using the supplied credential representation.\n * HTTP PUT /user/reset-password\n * Java method: org.openremote.model.security.UserResource.updatePasswordCurrent\n */\n updatePasswordCurrent(credential: Model.Credential, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/reset-password`, data: credential, options: options });\n }\n\n /**\n * Updates the caller's own profile. A supplied user ID must match the access token; role and realm administration are not provided by this endpoint.\n * HTTP PUT /user/update\n * Java method: org.openremote.model.security.UserResource.updateCurrent\n */\n updateCurrent(user: Model.User, options?: O): RestResponse<Model.User> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/update`, data: user, options: options });\n }\n\n /**\n * Returns the identity-provider record corresponding to the current access token.\n * HTTP GET /user/user\n * Java method: org.openremote.model.security.UserResource.getCurrent\n */\n getCurrent(options?: O): RestResponse<Model.User> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/user`, options: options });\n }\n\n /**\n * Returns realm-level role names assigned to the caller.\n * HTTP GET /user/userRealmRoles\n * Java method: org.openremote.model.security.UserResource.getCurrentUserRealmRoles\n */\n getCurrentUserRealmRoles(options?: O): RestResponse<string[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/userRealmRoles`, options: options });\n }\n\n /**\n * Returns role names assigned to the caller for the named identity-provider client.\n * HTTP GET /user/userRoles/{clientId}\n * Java method: org.openremote.model.security.UserResource.getCurrentUserClientRoles\n */\n getCurrentUserClientRoles(clientId: string, options?: O): RestResponse<string[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/userRoles/${clientId}`, options: options });\n }\n\n /**\n * Terminates the active MQTT connection identified by sessionID.\n * HTTP GET /user/{realm}/disconnect/{sessionID}\n * Java method: org.openremote.model.security.UserResource.disconnectUserSession\n */\n disconnectUserSession(realm: string, sessionID: string, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/${realm}/disconnect/${sessionID}`, options: options });\n }\n\n /**\n * Asks the identity provider to send or initiate its configured password-reset action for the specified user.\n * Response code 405 - The caller cannot mutate a user in the requested realm\n * HTTP PUT /user/{realm}/request-password-reset/{userId}\n * Java method: org.openremote.model.security.UserResource.requestPasswordReset\n */\n requestPasswordReset(realm: string, userId: string, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/${realm}/request-password-reset/${userId}`, options: options });\n }\n\n /**\n * Replaces a user's credential in an administered realm using the supplied credential representation.\n * Response code 405 - The caller cannot mutate a user in the requested realm\n * HTTP PUT /user/{realm}/reset-password/{userId}\n * Java method: org.openremote.model.security.UserResource.updatePassword\n */\n updatePassword(realm: string, userId: string, credential: Model.Credential, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/${realm}/reset-password/${userId}`, data: credential, options: options });\n }\n\n /**\n * Generates and returns a new client secret for a service user in an administered realm.\n * HTTP GET /user/{realm}/reset-secret/{userId}\n * Java method: org.openremote.model.security.UserResource.resetSecret\n */\n resetSecret(realm: string, userId: string, options?: O): RestResponse<string> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/${realm}/reset-secret/${userId}`, options: options });\n }\n\n /**\n * Creates, updates, or removes role definitions for the default OpenRemote client in the requested realm.\n * HTTP PUT /user/{realm}/roles\n * Java method: org.openremote.model.security.UserResource.updateRoles\n */\n updateRoles(realm: string, roles: Model.Role[], options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/${realm}/roles`, data: roles, options: options });\n }\n\n /**\n * Returns realm-level role names assigned to one user. Without read-admin permission, callers may retrieve only their own roles.\n * HTTP GET /user/{realm}/userRealmRoles/{userId}\n * Java method: org.openremote.model.security.UserResource.getUserRealmRoles\n */\n getUserRealmRoles(realm: string, userId: string, options?: O): RestResponse<string[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/${realm}/userRealmRoles/${userId}`, options: options });\n }\n\n /**\n * Replaces the user's assigned realm-level role names in an administered realm.\n * HTTP PUT /user/{realm}/userRealmRoles/{userId}\n * Java method: org.openremote.model.security.UserResource.updateUserRealmRoles\n */\n updateUserRealmRoles(realm: string, userId: string, roles: string[], options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/${realm}/userRealmRoles/${userId}`, data: roles, options: options });\n }\n\n /**\n * Returns role names assigned to one user for the named client. Without read-admin permission, callers may retrieve only their own roles.\n * HTTP GET /user/{realm}/userRoles/{userId}/{clientId}\n * Java method: org.openremote.model.security.UserResource.getUserClientRoles\n */\n getUserClientRoles(realm: string, userId: string, clientId: string, options?: O): RestResponse<string[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/${realm}/userRoles/${userId}/${clientId}`, options: options });\n }\n\n /**\n * Replaces the user's assigned role names for the named client in an administered realm.\n * HTTP PUT /user/{realm}/userRoles/{userId}/{clientId}\n * Java method: org.openremote.model.security.UserResource.updateUserClientRoles\n */\n updateUserClientRoles(realm: string, userId: string, clientId: string, roles: string[], options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/${realm}/userRoles/${userId}/${clientId}`, data: roles, options: options });\n }\n\n /**\n * Returns active MQTT sessions for one user, including connection ID, creation time, and remote address. Without read-admin permission, callers may inspect only themselves.\n * HTTP GET /user/{realm}/userSessions/{userId}\n * Java method: org.openremote.model.security.UserResource.getUserSessions\n */\n getUserSessions(realm: string, userId: string, options?: O): RestResponse<Model.UserSession[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/${realm}/userSessions/${userId}`, options: options });\n }\n\n /**\n * Creates an identity-provider user in a realm administered by the caller and returns the resulting user record.\n * HTTP POST /user/{realm}/users\n * Java method: org.openremote.model.security.UserResource.create\n */\n create(realm: string, user: Model.User, options?: O): RestResponse<Model.User> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`user/${realm}/users`, data: user, options: options });\n }\n\n /**\n * Updates an existing identity-provider user in an administered realm. The master administrator cannot be disabled.\n * Response code 405 - The requested cross-realm or protected master-administrator mutation is not allowed\n * HTTP PUT /user/{realm}/users\n * Java method: org.openremote.model.security.UserResource.update\n */\n update(realm: string, user: Model.User, options?: O): RestResponse<Model.User> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/${realm}/users`, data: user, options: options });\n }\n\n /**\n * Permanently deletes a user from an administered realm. The master-realm administrator cannot be deleted.\n * Response code 405 - The master-realm administrator cannot be deleted\n * HTTP DELETE /user/{realm}/users/{userId}\n * Java method: org.openremote.model.security.UserResource.delete\n */\n delete(realm: string, userId: string, options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`user/${realm}/users/${userId}`, options: options });\n }\n\n /**\n * Returns all role definitions exposed by the named identity-provider client. Realm-administrator access is required.\n * HTTP GET /user/{realm}/{clientId}/roles\n * Java method: org.openremote.model.security.UserResource.getClientRoles\n */\n getClientRoles(realm: string, clientId: string, options?: O): RestResponse<Model.Role[]> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/${realm}/${clientId}/roles`, options: options });\n }\n\n /**\n * Creates, updates, or removes role definitions for a named identity-provider client.\n * HTTP PUT /user/{realm}/{clientId}/roles\n * Java method: org.openremote.model.security.UserResource.updateClientRoles\n */\n updateClientRoles(realm: string, clientId: string, roles: Model.Role[], options?: O): RestResponse<void> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`user/${realm}/${clientId}/roles`, data: roles, options: options });\n }\n\n /**\n * Returns one user when it belongs to the requested accessible realm. Without read-admin permission, callers may retrieve only their own user.\n * HTTP GET /user/{realm}/{userId}\n * Java method: org.openremote.model.security.UserResource.get\n */\n get(realm: string, userId: string, options?: O): RestResponse<Model.User> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`user/${realm}/${userId}`, options: options });\n }\n}\n\nexport class MapResourceClient<O> {\n\n constructor(protected httpClient: HttpClient<O>) {\n }\n\n /**\n * Returns realm-aware public MapLibre settings with externally reachable URLs derived from proxy headers.\n * HTTP GET /map\n * Java method: org.openremote.model.map.MapResource.getSettings\n */\n getSettings(options?: O): RestResponse<{ [id: string]: unknown }> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`map`, options: options });\n }\n\n /**\n * Stores the map configuration and returns the resulting public MapLibre settings.\n * HTTP PUT /map\n * Java method: org.openremote.model.map.MapResource.saveSettings\n */\n saveSettings(mapConfig: Model.MapConfig, options?: O): RestResponse<{ [id: string]: unknown }> {\n return this.httpClient.request({ method: \"PUT\", url: uriEncoding`map`, data: mapConfig, options: options });\n }\n\n /**\n * Deletes the installed custom MBTiles database and returns the fallback public map settings.\n * HTTP DELETE /map/deleteMap\n * Java method: org.openremote.model.map.MapResource.deleteMap\n */\n deleteMap(options?: O): RestResponse<{ [id: string]: unknown }> {\n return this.httpClient.request({ method: \"DELETE\", url: uriEncoding`map/deleteMap`, options: options });\n }\n\n /**\n * Reports whether custom MBTiles data is installed and the maximum accepted upload size.\n * HTTP GET /map/getCustomMapInfo\n * Java method: org.openremote.model.map.MapResource.getCustomMapInfo\n */\n getCustomMapInfo(options?: O): RestResponse<{ [id: string]: unknown }> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`map/getCustomMapInfo`, options: options });\n }\n\n /**\n * Returns a pre-compressed Mapbox vector tile for the requested zoom, column, and row coordinates.\n * Response code 200 - Gzip-compressed vector tile\n * Response code 204 - No tile exists at the requested coordinates\n * HTTP GET /map/tile/{zoom}/{column}/{row}\n * Java method: org.openremote.model.map.MapResource.getTile\n */\n getTile(zoom: number, column: number, row: number, options?: O): RestResponse<any> {\n return this.httpClient.request({ method: \"GET\", url: uriEncoding`map/tile/${zoom}/${column}/${row}`, options: options });\n }\n\n /**\n * Stores the raw request body as the realm's custom MBTiles database and returns the resulting public map settings.\n * HTTP POST /map/upload\n * Java method: org.openremote.model.map.MapResource.uploadMap\n */\n uploadMap(queryParams?: { filename?: string; }, options?: O): RestResponse<{ [id: string]: unknown }> {\n return this.httpClient.request({ method: \"POST\", url: uriEncoding`map/upload`, queryParams: queryParams, options: options });\n }\n}\n\nexport type RestResponse<R> = Promise<Axios.GenericAxiosResponse<R>>;\n\nfunction uriEncoding(template: TemplateStringsArray, ...substitutions: any[]): string {\n let result = \"\";\n for (let i = 0; i < substitutions.length; i++) {\n result += template[i];\n result += encodeURIComponent(substitutions[i]);\n }\n result += template[template.length - 1];\n return result;\n}\n\n\n// Added by 'AggregatedApiClient' extension\nexport class ApiClient {\n\nprotected _gatewayServiceResource : AxiosGatewayServiceResourceClient;\nprotected _assetModelResource : AxiosAssetModelResourceClient;\nprotected _syslogResource : AxiosSyslogResourceClient;\nprotected _provisioningResource : AxiosProvisioningResourceClient;\nprotected _configurationResource : AxiosConfigurationResourceClient;\nprotected _alarmResource : AxiosAlarmResourceClient;\nprotected _statusResource : AxiosStatusResourceClient;\nprotected _notificationResource : AxiosNotificationResourceClient;\nprotected _dashboardResource : AxiosDashboardResourceClient;\nprotected _realmResource : AxiosRealmResourceClient;\nprotected _consoleResource : AxiosConsoleResourceClient;\nprotected _assetPredictedDatapointResource : AxiosAssetPredictedDatapointResourceClient;\nprotected _agentResource : AxiosAgentResourceClient;\nprotected _assetResource : AxiosAssetResourceClient;\nprotected _rulesResource : AxiosRulesResourceClient;\nprotected _externalServiceResource : AxiosExternalServiceResourceClient;\nprotected _gatewayClientResource : AxiosGatewayClientResourceClient;\nprotected _assetDatapointResource : AxiosAssetDatapointResourceClient;\nprotected _flowResource : AxiosFlowResourceClient;\nprotected _appResource : AxiosAppResourceClient;\nprotected _userResource : AxiosUserResourceClient;\nprotected _mapResource : AxiosMapResourceClient;\n\nconstructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\nthis._gatewayServiceResource = new AxiosGatewayServiceResourceClient(baseURL, axiosInstance);\nthis._assetModelResource = new AxiosAssetModelResourceClient(baseURL, axiosInstance);\nthis._syslogResource = new AxiosSyslogResourceClient(baseURL, axiosInstance);\nthis._provisioningResource = new AxiosProvisioningResourceClient(baseURL, axiosInstance);\nthis._configurationResource = new AxiosConfigurationResourceClient(baseURL, axiosInstance);\nthis._alarmResource = new AxiosAlarmResourceClient(baseURL, axiosInstance);\nthis._statusResource = new AxiosStatusResourceClient(baseURL, axiosInstance);\nthis._notificationResource = new AxiosNotificationResourceClient(baseURL, axiosInstance);\nthis._dashboardResource = new AxiosDashboardResourceClient(baseURL, axiosInstance);\nthis._realmResource = new AxiosRealmResourceClient(baseURL, axiosInstance);\nthis._consoleResource = new AxiosConsoleResourceClient(baseURL, axiosInstance);\nthis._assetPredictedDatapointResource = new AxiosAssetPredictedDatapointResourceClient(baseURL, axiosInstance);\nthis._agentResource = new AxiosAgentResourceClient(baseURL, axiosInstance);\nthis._assetResource = new AxiosAssetResourceClient(baseURL, axiosInstance);\nthis._rulesResource = new AxiosRulesResourceClient(baseURL, axiosInstance);\nthis._externalServiceResource = new AxiosExternalServiceResourceClient(baseURL, axiosInstance);\nthis._gatewayClientResource = new AxiosGatewayClientResourceClient(baseURL, axiosInstance);\nthis._assetDatapointResource = new AxiosAssetDatapointResourceClient(baseURL, axiosInstance);\nthis._flowResource = new AxiosFlowResourceClient(baseURL, axiosInstance);\nthis._appResource = new AxiosAppResourceClient(baseURL, axiosInstance);\nthis._userResource = new AxiosUserResourceClient(baseURL, axiosInstance);\nthis._mapResource = new AxiosMapResourceClient(baseURL, axiosInstance);\nthis._assetResource = new AxiosAssetResourceClient(baseURL, axiosInstance);\n}\n\nget GatewayServiceResource() : AxiosGatewayServiceResourceClient {\nreturn this._gatewayServiceResource;\n}\nget AssetModelResource() : AxiosAssetModelResourceClient {\nreturn this._assetModelResource;\n}\nget SyslogResource() : AxiosSyslogResourceClient {\nreturn this._syslogResource;\n}\nget ProvisioningResource() : AxiosProvisioningResourceClient {\nreturn this._provisioningResource;\n}\nget ConfigurationResource() : AxiosConfigurationResourceClient {\nreturn this._configurationResource;\n}\nget AlarmResource() : AxiosAlarmResourceClient {\nreturn this._alarmResource;\n}\nget StatusResource() : AxiosStatusResourceClient {\nreturn this._statusResource;\n}\nget NotificationResource() : AxiosNotificationResourceClient {\nreturn this._notificationResource;\n}\nget DashboardResource() : AxiosDashboardResourceClient {\nreturn this._dashboardResource;\n}\nget RealmResource() : AxiosRealmResourceClient {\nreturn this._realmResource;\n}\nget ConsoleResource() : AxiosConsoleResourceClient {\nreturn this._consoleResource;\n}\nget AssetPredictedDatapointResource() : AxiosAssetPredictedDatapointResourceClient {\nreturn this._assetPredictedDatapointResource;\n}\nget AgentResource() : AxiosAgentResourceClient {\nreturn this._agentResource;\n}\nget AssetResource() : AxiosAssetResourceClient {\nreturn this._assetResource;\n}\nget RulesResource() : AxiosRulesResourceClient {\nreturn this._rulesResource;\n}\nget ExternalServiceResource() : AxiosExternalServiceResourceClient {\nreturn this._externalServiceResource;\n}\nget GatewayClientResource() : AxiosGatewayClientResourceClient {\nreturn this._gatewayClientResource;\n}\nget AssetDatapointResource() : AxiosAssetDatapointResourceClient {\nreturn this._assetDatapointResource;\n}\nget FlowResource() : AxiosFlowResourceClient {\nreturn this._flowResource;\n}\nget AppResource() : AxiosAppResourceClient {\nreturn this._appResource;\n}\nget UserResource() : AxiosUserResourceClient {\nreturn this._userResource;\n}\nget MapResource() : AxiosMapResourceClient {\nreturn this._mapResource;\n}\n}\n\n\n// Added by 'AxiosClientExtension' extension\n\nimport axios from \"axios\";\nimport * as Axios from \"axios\";\n\ndeclare module \"axios\" {\n export interface GenericAxiosResponse<R> extends Axios.AxiosResponse {\n data: R;\n }\n}\n\nclass AxiosHttpClient implements HttpClient<Axios.AxiosRequestConfig> {\n\n constructor(private axios: Axios.AxiosInstance) {\n }\n\n request<R>(requestConfig: { method: string; url: string; queryParams?: any; data?: any; copyFn?: (data: R) => R; options?: Axios.AxiosRequestConfig; }): RestResponse<R> {\n function assign(target: any, source?: any) {\n if (source != undefined) {\n for (const key in source) {\n if (source.hasOwnProperty(key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }\n\n const config: Axios.AxiosRequestConfig = {};\n config.method = requestConfig.method as typeof config.method; // `string` in axios 0.16.0, `Method` in axios 0.19.0\n config.url = requestConfig.url;\n config.params = requestConfig.queryParams;\n config.data = requestConfig.data;\n assign(config, requestConfig.options);\n const copyFn = requestConfig.copyFn;\n\n const axiosResponse = this.axios.request(config);\n return axiosResponse.then(axiosResponse => {\n if (copyFn && axiosResponse.data) {\n (axiosResponse as any).originalData = axiosResponse.data;\n axiosResponse.data = copyFn(axiosResponse.data);\n }\n return axiosResponse;\n });\n }\n}\n\nexport class AxiosGatewayServiceResourceClient extends GatewayServiceResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosAssetModelResourceClient extends AssetModelResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosSyslogResourceClient extends SyslogResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosProvisioningResourceClient extends ProvisioningResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosConfigurationResourceClient extends ConfigurationResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosAlarmResourceClient extends AlarmResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosStatusResourceClient extends StatusResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosNotificationResourceClient extends NotificationResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosDashboardResourceClient extends DashboardResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosRealmResourceClient extends RealmResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosConsoleResourceClient extends ConsoleResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosAssetPredictedDatapointResourceClient extends AssetPredictedDatapointResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosAgentResourceClient extends AgentResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosAssetResourceClient extends AssetResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosRulesResourceClient extends RulesResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosExternalServiceResourceClient extends ExternalServiceResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosGatewayClientResourceClient extends GatewayClientResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosAssetDatapointResourceClient extends AssetDatapointResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosFlowResourceClient extends FlowResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosAppResourceClient extends AppResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosUserResourceClient extends UserResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n\nexport class AxiosMapResourceClient extends MapResourceClient<Axios.AxiosRequestConfig> {\n\n constructor(baseURL: string, axiosInstance: Axios.AxiosInstance = axios.create()) {\n axiosInstance.defaults.baseURL = baseURL;\n super(new AxiosHttpClient(axiosInstance));\n }\n}\n","import axios, {AxiosInstance, GenericAxiosResponse, AxiosError, InternalAxiosRequestConfig} from \"axios\";\nimport {ApiClient, RestResponse} from \"./restclient\";\nimport Qs from \"qs\";\n\nconst isAxiosError = axios.isAxiosError;\n\nexport {RestResponse, GenericAxiosResponse, AxiosError, isAxiosError};\n\nexport class RestApi {\n\n get api() {\n return this._client;\n }\n\n protected _client!: ApiClient;\n protected _axiosInstance!: AxiosInstance;\n protected _baseUrl!: string;\n\n constructor() {\n this._axiosInstance = axios.create();\n this._axiosInstance.defaults.headers.common[\"Content-Type\"] = \"application/json\";\n this._axiosInstance.interceptors.request.use((config) => {\n config.paramsSerializer = (params) => Qs.stringify(params, {arrayFormat: \"repeat\"});\n return config;\n });\n }\n\n get axiosInstance() {\n return this._axiosInstance;\n }\n\n get baseUrl() {\n return this._baseUrl;\n }\n\n public setTimeout(timeout: number) {\n this._axiosInstance.defaults.timeout = timeout;\n }\n\n public addRequestInterceptor(interceptor: (config: InternalAxiosRequestConfig) => InternalAxiosRequestConfig) {\n this._axiosInstance.interceptors.request.use(interceptor);\n }\n\n public initialise(baseUrl: string) {\n this._baseUrl = baseUrl;\n this._client = new ApiClient(baseUrl, this._axiosInstance);\n }\n}\n\nexport default new RestApi();\n"],"names":["Object","Symbol","t","o","E","r","encodeURIComponent","A"],"mappings":"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"}