summaryrefslogtreecommitdiff
path: root/api/kvision/pl.treksoft.kvision.remote
diff options
context:
space:
mode:
Diffstat (limited to 'api/kvision/pl.treksoft.kvision.remote')
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-call-agent/-init-.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-call-agent/index.html51
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-call-agent/json-rpc-call.html24
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-call-agent/remote-call.html24
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-credentials/-init-.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-credentials/index.html47
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-credentials/password.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-credentials/username.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-h-t-t-p_-u-n-a-u-t-h-o-r-i-z-e-d.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-http-method/-d-e-l-e-t-e.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-http-method/-g-e-t.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-http-method/-o-p-t-i-o-n-s.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-http-method/-p-o-s-t.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-http-method/-p-u-t.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-http-method/index.html53
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/-init-.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/call-agent.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/call.html37
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/index.html72
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/service-manager.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/-init-.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/-l-o-g.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/apply-routes.html18
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/bind.html32
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/call.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/calls.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/counter.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/get-calls.html16
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/get-parameter.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/index.html145
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/mapper.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/routes.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/service.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/-init-.html16
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/id.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/index.html59
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/jsonrpc.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/method.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/params.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/-init-.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/error.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/id.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/index.html58
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/jsonrpc.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/result.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-k-v-controller/-init-.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-k-v-controller/index.html49
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-k-v-controller/k-v-mapping.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-k-v-controller/kv-server.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-k-v-server/-init-.html22
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-k-v-server/index.html45
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-k-v-server/services.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-login-service/-init-.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-login-service/index.html54
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-login-service/login-agent.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-login-service/login.html18
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/-profile.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/-profile/-init-.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/-profile/attributes.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/-profile/authentication-attributes.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/-profile/client-name.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/-profile/display-name.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/-profile/email.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/-profile/family-name.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/-profile/first-name.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/-profile/id.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/-profile/index.html138
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/-profile/linked-id.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/-profile/permissions.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/-profile/picture-url.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/-profile/profile-url.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/-profile/remembered.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/-profile/roles.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/-profile/username.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-profile/index.html140
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-remote-agent.html37
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-request.html46
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/-d-e-l-e-t-e.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/-o-p-t-i-o-n-s.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/-p-o-s-t.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/-p-u-t.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/index.html46
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-security-exception/-init-.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-security-exception/index.html28
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-security-mgr/-init-.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-security-mgr/after-error.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-security-mgr/after-login.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-security-mgr/index.html69
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-security-mgr/login.html20
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-security-mgr/with-auth.html18
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-service-manager/get-calls.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-service-manager/index.html50
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-context/-init-.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-context/get-bean.html21
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-context/index.html55
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-context/set-application-context.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/-init-.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/call-agent.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/call.html37
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/index.html72
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/service-manager.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/-init-.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/-l-o-g.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/add-route.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/bind.html32
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/calls.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/counter.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/delete-requests.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/get-calls.html16
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/get-parameter.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/index.html157
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/mapper.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/options-requests.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/post-requests.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/put-requests.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/service-class.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/add-path-patterns-from-services.html14
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/async-auth.html18
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/async-session.html15
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/async.html18
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/index.html267
-rw-r--r--api/kvision/pl.treksoft.kvision.remote/write-j-s-o-n.html14
122 files changed, 3302 insertions, 0 deletions
diff --git a/api/kvision/pl.treksoft.kvision.remote/-call-agent/-init-.html b/api/kvision/pl.treksoft.kvision.remote/-call-agent/-init-.html
new file mode 100644
index 00000000..2a46f6df
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-call-agent/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>CallAgent.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">CallAgent</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.CallAgent$&lt;init&gt;()"></a>
+<code><span class="identifier">CallAgent</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>An agent responsible for remote calls.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-call-agent/index.html b/api/kvision/pl.treksoft.kvision.remote/-call-agent/index.html
new file mode 100644
index 00000000..1c92ef13
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-call-agent/index.html
@@ -0,0 +1,51 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>CallAgent - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">CallAgent</a><br/>
+<br/>
+<h1>CallAgent</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">CallAgent</span></code>
+<p>An agent responsible for remote calls.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">CallAgent</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>An agent responsible for remote calls.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="json-rpc-call.html">jsonRpcCall</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">jsonRpcCall</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)/url">url</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)/data">data</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;listOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-promise/index.html"><span class="identifier">Promise</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span></code>
+<p>Makes an JSON-RPC call to the remote server.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="remote-call.html">remoteCall</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">remoteCall</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/url">url</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/data">data</span><span class="symbol">:</span>&nbsp;<span class="keyword">dynamic</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-http-method/index.html"><span class="identifier">HttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;HttpMethod.GET<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/contentType">contentType</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a>&nbsp;<span class="symbol">=</span>&nbsp;"application/json"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/beforeSend">beforeSend</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="identifier">JQueryXHR</span><span class="symbol">,</span>&nbsp;<span class="identifier">JQueryAjaxSettings</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-promise/index.html"><span class="identifier">Promise</span></a><span class="symbol">&lt;</span><span class="keyword">dynamic</span><span class="symbol">&gt;</span></code>
+<p>Makes a remote call to the remote server.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-call-agent/json-rpc-call.html b/api/kvision/pl.treksoft.kvision.remote/-call-agent/json-rpc-call.html
new file mode 100644
index 00000000..7fc6404d
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-call-agent/json-rpc-call.html
@@ -0,0 +1,24 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>CallAgent.jsonRpcCall - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">CallAgent</a>&nbsp;/&nbsp;<a href="./json-rpc-call.html">jsonRpcCall</a><br/>
+<br/>
+<h1>jsonRpcCall</h1>
+<a name="pl.treksoft.kvision.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)"></a>
+<code><span class="keyword">fun </span><span class="identifier">jsonRpcCall</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)/url">url</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)/data">data</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;listOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$jsonRpcCall(kotlin.String, kotlin.collections.List((kotlin.String)), pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-promise/index.html"><span class="identifier">Promise</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span></code>
+<p>Makes an JSON-RPC call to the remote server.</p>
+<h3>Parameters</h3>
+<p><a name="url"></a>
+<code>url</code> - an URL address</p>
+<p><a name="method"></a>
+<code>method</code> - a HTTP method</p>
+<p><a name="data"></a>
+<code>data</code> - data to be sent</p>
+<p><strong>Return</strong><br/>
+a promise of the result</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-call-agent/remote-call.html b/api/kvision/pl.treksoft.kvision.remote/-call-agent/remote-call.html
new file mode 100644
index 00000000..342ae5cc
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-call-agent/remote-call.html
@@ -0,0 +1,24 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>CallAgent.remoteCall - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">CallAgent</a>&nbsp;/&nbsp;<a href="./remote-call.html">remoteCall</a><br/>
+<br/>
+<h1>remoteCall</h1>
+<a name="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">remoteCall</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/url">url</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/data">data</span><span class="symbol">:</span>&nbsp;<span class="keyword">dynamic</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-http-method/index.html"><span class="identifier">HttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;HttpMethod.GET<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/contentType">contentType</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a>&nbsp;<span class="symbol">=</span>&nbsp;"application/json"<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.CallAgent$remoteCall(kotlin.String, kotlin.Any, pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.jquery.JQueryXHR, pl.treksoft.jquery.JQueryAjaxSettings, kotlin.Boolean)))/beforeSend">beforeSend</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="identifier">JQueryXHR</span><span class="symbol">,</span>&nbsp;<span class="identifier">JQueryAjaxSettings</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-promise/index.html"><span class="identifier">Promise</span></a><span class="symbol">&lt;</span><span class="keyword">dynamic</span><span class="symbol">&gt;</span></code>
+<p>Makes a remote call to the remote server.</p>
+<h3>Parameters</h3>
+<p><a name="url"></a>
+<code>url</code> - an URL address</p>
+<p><a name="method"></a>
+<code>method</code> - a HTTP method</p>
+<p><a name="data"></a>
+<code>data</code> - data to be sent</p>
+<p><strong>Return</strong><br/>
+a promise of the result</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-credentials/-init-.html b/api/kvision/pl.treksoft.kvision.remote/-credentials/-init-.html
new file mode 100644
index 00000000..c80a8be6
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-credentials/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Credentials.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">Credentials</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.Credentials$&lt;init&gt;(kotlin.String, kotlin.String)"></a>
+<code><span class="identifier">Credentials</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.Credentials$<init>(kotlin.String, kotlin.String)/username">username</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Credentials$<init>(kotlin.String, kotlin.String)/password">password</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<p>Username and password credentials.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-credentials/index.html b/api/kvision/pl.treksoft.kvision.remote/-credentials/index.html
new file mode 100644
index 00000000..b61a5ce3
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-credentials/index.html
@@ -0,0 +1,47 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Credentials - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">Credentials</a><br/>
+<br/>
+<h1>Credentials</h1>
+<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">Credentials</span></code>
+<p>Username and password credentials.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">Credentials</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.Credentials$<init>(kotlin.String, kotlin.String)/username">username</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Credentials$<init>(kotlin.String, kotlin.String)/password">password</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<p>Username and password credentials.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="password.html">password</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">password</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="username.html">username</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">username</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-credentials/password.html b/api/kvision/pl.treksoft.kvision.remote/-credentials/password.html
new file mode 100644
index 00000000..64b737c4
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-credentials/password.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Credentials.password - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">Credentials</a>&nbsp;/&nbsp;<a href="./password.html">password</a><br/>
+<br/>
+<h1>password</h1>
+<a name="pl.treksoft.kvision.remote.Credentials$password"></a>
+<code><span class="keyword">val </span><span class="identifier">password</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-credentials/username.html b/api/kvision/pl.treksoft.kvision.remote/-credentials/username.html
new file mode 100644
index 00000000..e86f56dc
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-credentials/username.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Credentials.username - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">Credentials</a>&nbsp;/&nbsp;<a href="./username.html">username</a><br/>
+<br/>
+<h1>username</h1>
+<a name="pl.treksoft.kvision.remote.Credentials$username"></a>
+<code><span class="keyword">val </span><span class="identifier">username</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-h-t-t-p_-u-n-a-u-t-h-o-r-i-z-e-d.html b/api/kvision/pl.treksoft.kvision.remote/-h-t-t-p_-u-n-a-u-t-h-o-r-i-z-e-d.html
new file mode 100644
index 00000000..8e481bac
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-h-t-t-p_-u-n-a-u-t-h-o-r-i-z-e-d.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>HTTP_UNAUTHORIZED - kvision</title>
+<link rel="stylesheet" href="../../style.css">
+</HEAD>
+<BODY>
+<a href="../index.html">kvision</a>&nbsp;/&nbsp;<a href="index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./-h-t-t-p_-u-n-a-u-t-h-o-r-i-z-e-d.html">HTTP_UNAUTHORIZED</a><br/>
+<br/>
+<h1>HTTP_UNAUTHORIZED</h1>
+<a name="pl.treksoft.kvision.remote$HTTP_UNAUTHORIZED"></a>
+<code><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">HTTP_UNAUTHORIZED</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code>
+<p>HTTP status unauthorized (401).</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-http-method/-d-e-l-e-t-e.html b/api/kvision/pl.treksoft.kvision.remote/-http-method/-d-e-l-e-t-e.html
new file mode 100644
index 00000000..b7a8a330
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-http-method/-d-e-l-e-t-e.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>HttpMethod.DELETE - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">HttpMethod</a>&nbsp;/&nbsp;<a href="./-d-e-l-e-t-e.html">DELETE</a><br/>
+<br/>
+<h1>DELETE</h1>
+<a name="pl.treksoft.kvision.remote.HttpMethod.DELETE"></a>
+<code><span class="identifier">DELETE</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-http-method/-g-e-t.html b/api/kvision/pl.treksoft.kvision.remote/-http-method/-g-e-t.html
new file mode 100644
index 00000000..9d26101f
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-http-method/-g-e-t.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>HttpMethod.GET - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">HttpMethod</a>&nbsp;/&nbsp;<a href="./-g-e-t.html">GET</a><br/>
+<br/>
+<h1>GET</h1>
+<a name="pl.treksoft.kvision.remote.HttpMethod.GET"></a>
+<code><span class="identifier">GET</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-http-method/-o-p-t-i-o-n-s.html b/api/kvision/pl.treksoft.kvision.remote/-http-method/-o-p-t-i-o-n-s.html
new file mode 100644
index 00000000..b98686d0
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-http-method/-o-p-t-i-o-n-s.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>HttpMethod.OPTIONS - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">HttpMethod</a>&nbsp;/&nbsp;<a href="./-o-p-t-i-o-n-s.html">OPTIONS</a><br/>
+<br/>
+<h1>OPTIONS</h1>
+<a name="pl.treksoft.kvision.remote.HttpMethod.OPTIONS"></a>
+<code><span class="identifier">OPTIONS</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-http-method/-p-o-s-t.html b/api/kvision/pl.treksoft.kvision.remote/-http-method/-p-o-s-t.html
new file mode 100644
index 00000000..01c6f18c
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-http-method/-p-o-s-t.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>HttpMethod.POST - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">HttpMethod</a>&nbsp;/&nbsp;<a href="./-p-o-s-t.html">POST</a><br/>
+<br/>
+<h1>POST</h1>
+<a name="pl.treksoft.kvision.remote.HttpMethod.POST"></a>
+<code><span class="identifier">POST</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-http-method/-p-u-t.html b/api/kvision/pl.treksoft.kvision.remote/-http-method/-p-u-t.html
new file mode 100644
index 00000000..7fd3d4e1
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-http-method/-p-u-t.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>HttpMethod.PUT - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">HttpMethod</a>&nbsp;/&nbsp;<a href="./-p-u-t.html">PUT</a><br/>
+<br/>
+<h1>PUT</h1>
+<a name="pl.treksoft.kvision.remote.HttpMethod.PUT"></a>
+<code><span class="identifier">PUT</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-http-method/index.html b/api/kvision/pl.treksoft.kvision.remote/-http-method/index.html
new file mode 100644
index 00000000..ddfb3b23
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-http-method/index.html
@@ -0,0 +1,53 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>HttpMethod - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">HttpMethod</a><br/>
+<br/>
+<h1>HttpMethod</h1>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">HttpMethod</span></code>
+<h3>Enum Values</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-g-e-t.html">GET</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-p-o-s-t.html">POST</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-p-u-t.html">PUT</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-d-e-l-e-t-e.html">DELETE</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-o-p-t-i-o-n-s.html">OPTIONS</a></p>
+</td>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/-init-.html b/api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/-init-.html
new file mode 100644
index 00000000..279f31fd
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyRemoteAgent.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JoobyRemoteAgent</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.JoobyRemoteAgent$&lt;init&gt;(pl.treksoft.kvision.remote.JoobyServiceManager((pl.treksoft.kvision.remote.JoobyRemoteAgent.T)))"></a>
+<code><span class="identifier">JoobyRemoteAgent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$<init>(pl.treksoft.kvision.remote.JoobyServiceManager((pl.treksoft.kvision.remote.JoobyRemoteAgent.T)))/serviceManager">serviceManager</span><span class="symbol">:</span>&nbsp;<a href="../-jooby-service-manager/index.html"><span class="identifier">JoobyServiceManager</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span></code>
+<p>Client side agent for JSON-RPC remote calls with Jooby.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/call-agent.html b/api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/call-agent.html
new file mode 100644
index 00000000..20a174ef
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/call-agent.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyRemoteAgent.callAgent - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JoobyRemoteAgent</a>&nbsp;/&nbsp;<a href="./call-agent.html">callAgent</a><br/>
+<br/>
+<h1>callAgent</h1>
+<a name="pl.treksoft.kvision.remote.JoobyRemoteAgent$callAgent"></a>
+<code><span class="keyword">val </span><span class="identifier">callAgent</span><span class="symbol">: </span><a href="../-call-agent/index.html"><span class="identifier">CallAgent</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/call.html b/api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/call.html
new file mode 100644
index 00000000..9864ea67
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/call.html
@@ -0,0 +1,37 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyRemoteAgent.call - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JoobyRemoteAgent</a>&nbsp;/&nbsp;<a href="./call.html">call</a><br/>
+<br/>
+<h1>call</h1>
+<a name="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR)/p">p</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR)/p">p</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR5</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p5">p5</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR5</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p5">p5</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+<p>Executes defined call to a remote web service.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/index.html b/api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/index.html
new file mode 100644
index 00000000..dcc267bb
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/index.html
@@ -0,0 +1,72 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyRemoteAgent - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">JoobyRemoteAgent</a><br/>
+<br/>
+<h1>JoobyRemoteAgent</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">JoobyRemoteAgent</span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-remote-agent.html"><span class="identifier">RemoteAgent</span></a></code>
+<p>Client side agent for JSON-RPC remote calls with Jooby.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">JoobyRemoteAgent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$<init>(pl.treksoft.kvision.remote.JoobyServiceManager((pl.treksoft.kvision.remote.JoobyRemoteAgent.T)))/serviceManager">serviceManager</span><span class="symbol">:</span>&nbsp;<a href="../-jooby-service-manager/index.html"><span class="identifier">JoobyServiceManager</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span></code>
+<p>Client side agent for JSON-RPC remote calls with Jooby.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="call-agent.html">callAgent</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">callAgent</span><span class="symbol">: </span><a href="../-call-agent/index.html"><span class="identifier">CallAgent</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="service-manager.html">serviceManager</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">serviceManager</span><span class="symbol">: </span><a href="../-jooby-service-manager/index.html"><span class="identifier">JoobyServiceManager</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="call.html">call</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR)/p">p</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR)/p">p</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">PAR4</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">PAR4</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4)/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">PAR4</span><span class="symbol">, </span><span class="identifier">PAR5</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p5">p5</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">PAR4</span><span class="symbol">, </span><span class="identifier">PAR5</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyRemoteAgent$call(kotlin.Function7((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.T, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.JoobyRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.JoobyRemoteAgent.call.PAR5)/p5">p5</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+<p>Executes defined call to a remote web service.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/service-manager.html b/api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/service-manager.html
new file mode 100644
index 00000000..cdfac05f
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-jooby-remote-agent/service-manager.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyRemoteAgent.serviceManager - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JoobyRemoteAgent</a>&nbsp;/&nbsp;<a href="./service-manager.html">serviceManager</a><br/>
+<br/>
+<h1>serviceManager</h1>
+<a name="pl.treksoft.kvision.remote.JoobyRemoteAgent$serviceManager"></a>
+<code><span class="keyword">val </span><span class="identifier">serviceManager</span><span class="symbol">: </span><a href="../-jooby-service-manager/index.html"><span class="identifier">JoobyServiceManager</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/-init-.html b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/-init-.html
new file mode 100644
index 00000000..67af7141
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyServiceManager.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JoobyServiceManager</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.JoobyServiceManager$&lt;init&gt;(pl.treksoft.kvision.remote.JoobyServiceManager.T)"></a>
+<code><span class="identifier">JoobyServiceManager</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$<init>(pl.treksoft.kvision.remote.JoobyServiceManager.T)/service">service</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span></code>
+<p>Multiplatform service manager for Jooby.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/-l-o-g.html b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/-l-o-g.html
new file mode 100644
index 00000000..fa26ca59
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/-l-o-g.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyServiceManager.LOG - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JoobyServiceManager</a>&nbsp;/&nbsp;<a href="./-l-o-g.html">LOG</a><br/>
+<br/>
+<h1>LOG</h1>
+<a name="pl.treksoft.kvision.remote.JoobyServiceManager.Companion$LOG"></a>
+<code><span class="keyword">val </span><span class="identifier">LOG</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/apply-routes.html b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/apply-routes.html
new file mode 100644
index 00000000..cb536155
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/apply-routes.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyServiceManager.applyRoutes - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JoobyServiceManager</a>&nbsp;/&nbsp;<a href="./apply-routes.html">applyRoutes</a><br/>
+<br/>
+<h1>applyRoutes</h1>
+<a name="pl.treksoft.kvision.remote.JoobyServiceManager$applyRoutes(pl.treksoft.kvision.remote.KVServer)"></a>
+<code><span class="keyword">fun </span><span class="identifier">applyRoutes</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$applyRoutes(pl.treksoft.kvision.remote.KVServer)/k">k</span><span class="symbol">:</span>&nbsp;<a href="../-k-v-server/index.html"><span class="identifier">KVServer</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Applies all defined routes to the given server.</p>
+<h3>Parameters</h3>
+<p><a name="k"></a>
+<code>k</code> - a server</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/bind.html b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/bind.html
new file mode 100644
index 00000000..5c2ccb21
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/bind.html
@@ -0,0 +1,32 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyServiceManager.bind - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JoobyServiceManager</a>&nbsp;/&nbsp;<a href="./bind.html">bind</a><br/>
+<br/>
+<h1>bind</h1>
+<a name="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<a name="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<a name="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<a name="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<a name="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<a name="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR4, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR5</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR4, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR4, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR4, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Binds a given route with a function of the receiver.</p>
+<h3>Parameters</h3>
+<p><a name="function"></a>
+<code>function</code> - a function of the receiver</p>
+<p><a name="route"></a>
+<code>route</code> - a route</p>
+<p><a name="method"></a>
+<code>method</code> - a HTTP method</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/call.html b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/call.html
new file mode 100644
index 00000000..a5405d6f
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/call.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyServiceManager.call - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JoobyServiceManager</a>&nbsp;/&nbsp;<a href="./call.html">call</a><br/>
+<br/>
+<h1>call</h1>
+<a name="pl.treksoft.kvision.remote.JoobyServiceManager$call(pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.kvision.remote.Request, , kotlin.Unit)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$call(pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.kvision.remote.Request, , kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$call(pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.kvision.remote.Request, , kotlin.Unit)))/path">path</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$call(pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.kvision.remote.Request, , kotlin.Unit)))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../-k-v-server/index.html"><span class="identifier">KVServer</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/calls.html b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/calls.html
new file mode 100644
index 00000000..a20b12e9
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/calls.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyServiceManager.calls - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JoobyServiceManager</a>&nbsp;/&nbsp;<a href="./calls.html">calls</a><br/>
+<br/>
+<h1>calls</h1>
+<a name="pl.treksoft.kvision.remote.JoobyServiceManager$calls"></a>
+<code><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">calls</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/counter.html b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/counter.html
new file mode 100644
index 00000000..0d191de3
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/counter.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyServiceManager.counter - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JoobyServiceManager</a>&nbsp;/&nbsp;<a href="./counter.html">counter</a><br/>
+<br/>
+<h1>counter</h1>
+<a name="pl.treksoft.kvision.remote.JoobyServiceManager$counter"></a>
+<code><span class="keyword">var </span><span class="identifier">counter</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/get-calls.html b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/get-calls.html
new file mode 100644
index 00000000..0957bf20
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/get-calls.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyServiceManager.getCalls - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JoobyServiceManager</a>&nbsp;/&nbsp;<a href="./get-calls.html">getCalls</a><br/>
+<br/>
+<h1>getCalls</h1>
+<a name="pl.treksoft.kvision.remote.JoobyServiceManager$getCalls()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getCalls</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html"><span class="identifier">Map</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+<p>Overrides <a href="../-service-manager/get-calls.html">ServiceManager.getCalls</a></p>
+<p>Returns the map of defined paths.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/get-parameter.html b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/get-parameter.html
new file mode 100644
index 00000000..99b992b5
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/get-parameter.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyServiceManager.getParameter - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JoobyServiceManager</a>&nbsp;/&nbsp;<a href="./get-parameter.html">getParameter</a><br/>
+<br/>
+<h1>getParameter</h1>
+<a name="pl.treksoft.kvision.remote.JoobyServiceManager$getParameter(kotlin.String)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">getParameter</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$getParameter(kotlin.String)/str">str</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="get-parameter.html#T"><span class="identifier">T</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/index.html b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/index.html
new file mode 100644
index 00000000..1e24f81b
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/index.html
@@ -0,0 +1,145 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyServiceManager - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">JoobyServiceManager</a><br/>
+<br/>
+<h1>JoobyServiceManager</h1>
+<code><span class="keyword">open</span> <span class="keyword">expect</span> <span class="keyword">class </span><span class="identifier">JoobyServiceManager</span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-service-manager/index.html"><span class="identifier">ServiceManager</span></a></code>
+<p>Multiplatform service manager for Jooby.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">JoobyServiceManager</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$<init>(pl.treksoft.kvision.remote.JoobyServiceManager.T)/service">service</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">)</span></code>
+<p>Multiplatform service manager for Jooby.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="calls.html">calls</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">calls</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="counter.html">counter</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">counter</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="mapper.html">mapper</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">mapper</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="routes.html">routes</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">routes</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="../-k-v-server/index.html"><span class="identifier">KVServer</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="service.html">service</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">service</span><span class="symbol">: </span><a href="index.html#T"><span class="identifier">T</span></a></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="apply-routes.html">applyRoutes</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">applyRoutes</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$applyRoutes(pl.treksoft.kvision.remote.KVServer)/k">k</span><span class="symbol">:</span>&nbsp;<a href="../-k-v-server/index.html"><span class="identifier">KVServer</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Applies all defined routes to the given server.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="bind.html">bind</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR</span><span class="symbol">, </span><span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">PAR4</span><span class="symbol">, </span><span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR4, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">PAR4</span><span class="symbol">, </span><span class="identifier">PAR5</span><span class="symbol">, </span><span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR4, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">,</span>&nbsp;<a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR4, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$bind(kotlin.Function7((pl.treksoft.kvision.remote.JoobyServiceManager.T, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR1, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR2, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR3, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR4, pl.treksoft.kvision.remote.JoobyServiceManager.bind.PAR5, pl.treksoft.kvision.remote.Request, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.JoobyServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Binds a given route with a function of the receiver.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="call.html">call</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$call(pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.kvision.remote.Request, , kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$call(pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.kvision.remote.Request, , kotlin.Unit)))/path">path</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$call(pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.kvision.remote.Request, , kotlin.Unit)))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../-k-v-server/index.html"><span class="identifier">KVServer</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="get-calls.html">getCalls</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getCalls</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html"><span class="identifier">Map</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+<p>Returns the map of defined paths.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="get-parameter.html">getParameter</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">getParameter</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JoobyServiceManager$getParameter(kotlin.String)/str">str</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="get-parameter.html#T"><span class="identifier">T</span></a></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-service-manager/get-calls.html">getCalls</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getCalls</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html"><span class="identifier">Map</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+<p>Returns the map of defined paths.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Companion Object Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-l-o-g.html">LOG</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">LOG</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/mapper.html b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/mapper.html
new file mode 100644
index 00000000..5940cbbc
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/mapper.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyServiceManager.mapper - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JoobyServiceManager</a>&nbsp;/&nbsp;<a href="./mapper.html">mapper</a><br/>
+<br/>
+<h1>mapper</h1>
+<a name="pl.treksoft.kvision.remote.JoobyServiceManager$mapper"></a>
+<code><span class="keyword">val </span><span class="identifier">mapper</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/routes.html b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/routes.html
new file mode 100644
index 00000000..e4ca99be
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/routes.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyServiceManager.routes - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JoobyServiceManager</a>&nbsp;/&nbsp;<a href="./routes.html">routes</a><br/>
+<br/>
+<h1>routes</h1>
+<a name="pl.treksoft.kvision.remote.JoobyServiceManager$routes"></a>
+<code><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">routes</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><a href="../-k-v-server/index.html"><span class="identifier">KVServer</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/service.html b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/service.html
new file mode 100644
index 00000000..ab1f72c4
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-jooby-service-manager/service.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JoobyServiceManager.service - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JoobyServiceManager</a>&nbsp;/&nbsp;<a href="./service.html">service</a><br/>
+<br/>
+<h1>service</h1>
+<a name="pl.treksoft.kvision.remote.JoobyServiceManager$service"></a>
+<code><span class="keyword">val </span><span class="identifier">service</span><span class="symbol">: </span><a href="index.html#T"><span class="identifier">T</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/-init-.html b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/-init-.html
new file mode 100644
index 00000000..a6b5e2a1
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/-init-.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JsonRpcRequest.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JsonRpcRequest</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.JsonRpcRequest$&lt;init&gt;()"></a>
+<code><span class="identifier">JsonRpcRequest</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
+<a name="pl.treksoft.kvision.remote.JsonRpcRequest$&lt;init&gt;(kotlin.Int, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.String)"></a>
+<code><span class="identifier">JsonRpcRequest</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JsonRpcRequest$<init>(kotlin.Int, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.String)/id">id</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JsonRpcRequest$<init>(kotlin.Int, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JsonRpcRequest$<init>(kotlin.Int, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.String)/params">params</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JsonRpcRequest$<init>(kotlin.Int, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.String)/jsonrpc">jsonrpc</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a>&nbsp;<span class="symbol">=</span>&nbsp;"2.0"<span class="symbol">)</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/id.html b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/id.html
new file mode 100644
index 00000000..9ada15fa
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/id.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JsonRpcRequest.id - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JsonRpcRequest</a>&nbsp;/&nbsp;<a href="./id.html">id</a><br/>
+<br/>
+<h1>id</h1>
+<a name="pl.treksoft.kvision.remote.JsonRpcRequest$id"></a>
+<code><span class="keyword">val </span><span class="identifier">id</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/index.html b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/index.html
new file mode 100644
index 00000000..80e5a565
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/index.html
@@ -0,0 +1,59 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JsonRpcRequest - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">JsonRpcRequest</a><br/>
+<br/>
+<h1>JsonRpcRequest</h1>
+<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">JsonRpcRequest</span></code>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">JsonRpcRequest</span><span class="symbol">(</span><span class="symbol">)</span></code><br/>
+<code><span class="identifier">JsonRpcRequest</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JsonRpcRequest$<init>(kotlin.Int, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.String)/id">id</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JsonRpcRequest$<init>(kotlin.Int, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JsonRpcRequest$<init>(kotlin.Int, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.String)/params">params</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JsonRpcRequest$<init>(kotlin.Int, kotlin.String, kotlin.collections.List((kotlin.String)), kotlin.String)/jsonrpc">jsonrpc</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a>&nbsp;<span class="symbol">=</span>&nbsp;"2.0"<span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="id.html">id</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">id</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="jsonrpc.html">jsonrpc</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">jsonrpc</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="method.html">method</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">method</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="params.html">params</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">params</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/jsonrpc.html b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/jsonrpc.html
new file mode 100644
index 00000000..da51cc70
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/jsonrpc.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JsonRpcRequest.jsonrpc - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JsonRpcRequest</a>&nbsp;/&nbsp;<a href="./jsonrpc.html">jsonrpc</a><br/>
+<br/>
+<h1>jsonrpc</h1>
+<a name="pl.treksoft.kvision.remote.JsonRpcRequest$jsonrpc"></a>
+<code><span class="keyword">val </span><span class="identifier">jsonrpc</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/method.html b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/method.html
new file mode 100644
index 00000000..43db77b5
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/method.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JsonRpcRequest.method - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JsonRpcRequest</a>&nbsp;/&nbsp;<a href="./method.html">method</a><br/>
+<br/>
+<h1>method</h1>
+<a name="pl.treksoft.kvision.remote.JsonRpcRequest$method"></a>
+<code><span class="keyword">val </span><span class="identifier">method</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/params.html b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/params.html
new file mode 100644
index 00000000..58622f91
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-request/params.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JsonRpcRequest.params - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JsonRpcRequest</a>&nbsp;/&nbsp;<a href="./params.html">params</a><br/>
+<br/>
+<h1>params</h1>
+<a name="pl.treksoft.kvision.remote.JsonRpcRequest$params"></a>
+<code><span class="keyword">val </span><span class="identifier">params</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/-init-.html b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/-init-.html
new file mode 100644
index 00000000..c1dbfc07
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/-init-.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JsonRpcResponse.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JsonRpcResponse</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.JsonRpcResponse$&lt;init&gt;(kotlin.Int, kotlin.String, kotlin.String, kotlin.String)"></a>
+<code><span class="identifier">JsonRpcResponse</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JsonRpcResponse$<init>(kotlin.Int, kotlin.String, kotlin.String, kotlin.String)/id">id</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JsonRpcResponse$<init>(kotlin.Int, kotlin.String, kotlin.String, kotlin.String)/result">result</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JsonRpcResponse$<init>(kotlin.Int, kotlin.String, kotlin.String, kotlin.String)/error">error</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JsonRpcResponse$<init>(kotlin.Int, kotlin.String, kotlin.String, kotlin.String)/jsonrpc">jsonrpc</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a>&nbsp;<span class="symbol">=</span>&nbsp;"2.0"<span class="symbol">)</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/error.html b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/error.html
new file mode 100644
index 00000000..7e927e72
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/error.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JsonRpcResponse.error - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JsonRpcResponse</a>&nbsp;/&nbsp;<a href="./error.html">error</a><br/>
+<br/>
+<h1>error</h1>
+<a name="pl.treksoft.kvision.remote.JsonRpcResponse$error"></a>
+<code><span class="keyword">val </span><span class="identifier">error</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/id.html b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/id.html
new file mode 100644
index 00000000..d8cf5251
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/id.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JsonRpcResponse.id - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JsonRpcResponse</a>&nbsp;/&nbsp;<a href="./id.html">id</a><br/>
+<br/>
+<h1>id</h1>
+<a name="pl.treksoft.kvision.remote.JsonRpcResponse$id"></a>
+<code><span class="keyword">val </span><span class="identifier">id</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/index.html b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/index.html
new file mode 100644
index 00000000..bed2d298
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/index.html
@@ -0,0 +1,58 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JsonRpcResponse - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">JsonRpcResponse</a><br/>
+<br/>
+<h1>JsonRpcResponse</h1>
+<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">JsonRpcResponse</span></code>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">JsonRpcResponse</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.JsonRpcResponse$<init>(kotlin.Int, kotlin.String, kotlin.String, kotlin.String)/id">id</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JsonRpcResponse$<init>(kotlin.Int, kotlin.String, kotlin.String, kotlin.String)/result">result</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JsonRpcResponse$<init>(kotlin.Int, kotlin.String, kotlin.String, kotlin.String)/error">error</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.JsonRpcResponse$<init>(kotlin.Int, kotlin.String, kotlin.String, kotlin.String)/jsonrpc">jsonrpc</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a>&nbsp;<span class="symbol">=</span>&nbsp;"2.0"<span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="error.html">error</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">error</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="id.html">id</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">id</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="jsonrpc.html">jsonrpc</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">jsonrpc</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="result.html">result</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">result</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/jsonrpc.html b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/jsonrpc.html
new file mode 100644
index 00000000..c0c5d72a
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/jsonrpc.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JsonRpcResponse.jsonrpc - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JsonRpcResponse</a>&nbsp;/&nbsp;<a href="./jsonrpc.html">jsonrpc</a><br/>
+<br/>
+<h1>jsonrpc</h1>
+<a name="pl.treksoft.kvision.remote.JsonRpcResponse$jsonrpc"></a>
+<code><span class="keyword">val </span><span class="identifier">jsonrpc</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/result.html b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/result.html
new file mode 100644
index 00000000..6495717b
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-json-rpc-response/result.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>JsonRpcResponse.result - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">JsonRpcResponse</a>&nbsp;/&nbsp;<a href="./result.html">result</a><br/>
+<br/>
+<h1>result</h1>
+<a name="pl.treksoft.kvision.remote.JsonRpcResponse$result"></a>
+<code><span class="keyword">val </span><span class="identifier">result</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-k-v-controller/-init-.html b/api/kvision/pl.treksoft.kvision.remote/-k-v-controller/-init-.html
new file mode 100644
index 00000000..4efad9cb
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-k-v-controller/-init-.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>KVController.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">KVController</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.KVController$&lt;init&gt;()"></a>
+<code><span class="identifier">KVController</span><span class="symbol">(</span><span class="symbol">)</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-k-v-controller/index.html b/api/kvision/pl.treksoft.kvision.remote/-k-v-controller/index.html
new file mode 100644
index 00000000..40ced1a9
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-k-v-controller/index.html
@@ -0,0 +1,49 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>KVController - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">KVController</a><br/>
+<br/>
+<h1>KVController</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">KVController</span></code>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">KVController</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="kv-server.html">kvServer</a></p>
+</td>
+<td>
+<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">kvServer</span><span class="symbol">: </span><a href="../-k-v-server/index.html"><span class="identifier">KVServer</span></a></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="k-v-mapping.html">kVMapping</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">kVMapping</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVController$kVMapping(, )/req">req</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVController$kVMapping(, )/res">res</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-k-v-controller/k-v-mapping.html b/api/kvision/pl.treksoft.kvision.remote/-k-v-controller/k-v-mapping.html
new file mode 100644
index 00000000..38c97970
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-k-v-controller/k-v-mapping.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>KVController.kVMapping - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">KVController</a>&nbsp;/&nbsp;<a href="./k-v-mapping.html">kVMapping</a><br/>
+<br/>
+<h1>kVMapping</h1>
+<a name="pl.treksoft.kvision.remote.KVController$kVMapping(, )"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">kVMapping</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVController$kVMapping(, )/req">req</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVController$kVMapping(, )/res">res</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-k-v-controller/kv-server.html b/api/kvision/pl.treksoft.kvision.remote/-k-v-controller/kv-server.html
new file mode 100644
index 00000000..f47e94f8
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-k-v-controller/kv-server.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>KVController.kvServer - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">KVController</a>&nbsp;/&nbsp;<a href="./kv-server.html">kvServer</a><br/>
+<br/>
+<h1>kvServer</h1>
+<a name="pl.treksoft.kvision.remote.KVController$kvServer"></a>
+<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">kvServer</span><span class="symbol">: </span><a href="../-k-v-server/index.html"><span class="identifier">KVServer</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-k-v-server/-init-.html b/api/kvision/pl.treksoft.kvision.remote/-k-v-server/-init-.html
new file mode 100644
index 00000000..0958186f
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-k-v-server/-init-.html
@@ -0,0 +1,22 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>KVServer.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">KVServer</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.KVServer$&lt;init&gt;(kotlin.Function1((pl.treksoft.kvision.remote.KVServer, kotlin.Unit)))"></a>
+<code><span class="identifier">KVServer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServer$<init>(kotlin.Function1((pl.treksoft.kvision.remote.KVServer, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="index.html"><span class="identifier">KVServer</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span></code>
+<p>A Jooby based server.</p>
+<a name="pl.treksoft.kvision.remote.KVServer$&lt;init&gt;(kotlin.collections.List((pl.treksoft.kvision.remote.SpringServiceManager((kotlin.Any)))))"></a>
+<code><span class="identifier">KVServer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServer$<init>(kotlin.collections.List((pl.treksoft.kvision.remote.SpringServiceManager((kotlin.Any)))))/services">services</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../-spring-service-manager/index.html"><span class="identifier">SpringServiceManager</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span></code>
+<p>A Spring boot based server.</p>
+<a name="pl.treksoft.kvision.remote.KVServer$&lt;init&gt;()"></a>
+<code><span class="identifier">KVServer</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>A server.
+Not used on the js platform.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-k-v-server/index.html b/api/kvision/pl.treksoft.kvision.remote/-k-v-server/index.html
new file mode 100644
index 00000000..327648ab
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-k-v-server/index.html
@@ -0,0 +1,45 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>KVServer - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">KVServer</a><br/>
+<br/>
+<h1>KVServer</h1>
+<code><span class="keyword">open</span> <span class="keyword">expect</span> <span class="keyword">class </span><span class="identifier">KVServer</span></code>
+<p>A server.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">KVServer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServer$<init>(kotlin.Function1((pl.treksoft.kvision.remote.KVServer, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">KVServer</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span></code>
+<p>A Jooby based server.</p>
+<code><span class="identifier">KVServer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServer$<init>(kotlin.collections.List((pl.treksoft.kvision.remote.SpringServiceManager((kotlin.Any)))))/services">services</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../-spring-service-manager/index.html"><span class="identifier">SpringServiceManager</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span></code>
+<p>A Spring boot based server.</p>
+<code><span class="identifier">KVServer</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>A server.
+Not used on the js platform.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="services.html">services</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">services</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../-spring-service-manager/index.html"><span class="identifier">SpringServiceManager</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-k-v-server/services.html b/api/kvision/pl.treksoft.kvision.remote/-k-v-server/services.html
new file mode 100644
index 00000000..8b19d19f
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-k-v-server/services.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>KVServer.services - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">KVServer</a>&nbsp;/&nbsp;<a href="./services.html">services</a><br/>
+<br/>
+<h1>services</h1>
+<a name="pl.treksoft.kvision.remote.KVServer$services"></a>
+<code><span class="keyword">val </span><span class="identifier">services</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../-spring-service-manager/index.html"><span class="identifier">SpringServiceManager</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-login-service/-init-.html b/api/kvision/pl.treksoft.kvision.remote/-login-service/-init-.html
new file mode 100644
index 00000000..fc85eeab
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-login-service/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>LoginService.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">LoginService</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.LoginService$&lt;init&gt;()"></a>
+<code><span class="identifier">LoginService</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>Pac4j form login dispatcher.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-login-service/index.html b/api/kvision/pl.treksoft.kvision.remote/-login-service/index.html
new file mode 100644
index 00000000..baf94f91
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-login-service/index.html
@@ -0,0 +1,54 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>LoginService - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">LoginService</a><br/>
+<br/>
+<h1>LoginService</h1>
+<code><span class="keyword">class </span><span class="identifier">LoginService</span></code>
+<p>Pac4j form login dispatcher.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">LoginService</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>Pac4j form login dispatcher.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="login-agent.html">loginAgent</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">loginAgent</span><span class="symbol">: </span><a href="../-call-agent/index.html"><span class="identifier">CallAgent</span></a></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="login.html">login</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">login</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.LoginService$login(pl.treksoft.kvision.remote.Credentials)/credentials">credentials</span><span class="symbol">:</span>&nbsp;<a href="../-credentials/index.html"><span class="identifier">Credentials</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">&gt;</span></code>
+<p>Login with Pac4j FormClient.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-login-service/login-agent.html b/api/kvision/pl.treksoft.kvision.remote/-login-service/login-agent.html
new file mode 100644
index 00000000..35b8de93
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-login-service/login-agent.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>LoginService.loginAgent - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">LoginService</a>&nbsp;/&nbsp;<a href="./login-agent.html">loginAgent</a><br/>
+<br/>
+<h1>loginAgent</h1>
+<a name="pl.treksoft.kvision.remote.LoginService$loginAgent"></a>
+<code><span class="keyword">val </span><span class="identifier">loginAgent</span><span class="symbol">: </span><a href="../-call-agent/index.html"><span class="identifier">CallAgent</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-login-service/login.html b/api/kvision/pl.treksoft.kvision.remote/-login-service/login.html
new file mode 100644
index 00000000..fbb6574b
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-login-service/login.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>LoginService.login - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">LoginService</a>&nbsp;/&nbsp;<a href="./login.html">login</a><br/>
+<br/>
+<h1>login</h1>
+<a name="pl.treksoft.kvision.remote.LoginService$login(pl.treksoft.kvision.remote.Credentials)"></a>
+<code><span class="keyword">fun </span><span class="identifier">login</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.LoginService$login(pl.treksoft.kvision.remote.Credentials)/credentials">credentials</span><span class="symbol">:</span>&nbsp;<a href="../-credentials/index.html"><span class="identifier">Credentials</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">&gt;</span></code>
+<p>Login with Pac4j FormClient.</p>
+<h3>Parameters</h3>
+<p><a name="credentials"></a>
+<code>credentials</code> - username and password credentials</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/-profile.html b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile.html
new file mode 100644
index 00000000..a1ef9965
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">Profile</a><br/>
+<br/>
+<h1>Profile</h1>
+<code><span class="keyword">actual</span> <span class="keyword">typealias </span><span class="identifier">Profile</span>&nbsp;<span class="symbol">=</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span></code>
+<p>A user profile.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/-init-.html b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/-init-.html
new file mode 100644
index 00000000..8e77d496
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.<init> - kvision</title>
+<link rel="stylesheet" href="../../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="../index.html">Profile</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.Profile$&lt;init&gt;(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)"></a>
+<code><span class="identifier">Profile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/id">id</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/attributes">attributes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableMapOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/authenticationAttributes">authenticationAttributes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableMapOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/roles">roles</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableSetOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/permissions">permissions</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableSetOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/linkedId">linkedId</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/remembered">remembered</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/clientName">clientName</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<p>A user profile.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/attributes.html b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/attributes.html
new file mode 100644
index 00000000..76e29511
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/attributes.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.attributes - kvision</title>
+<link rel="stylesheet" href="../../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="../index.html">Profile</a>&nbsp;/&nbsp;<a href="./attributes.html">attributes</a><br/>
+<br/>
+<h1>attributes</h1>
+<a name="pl.treksoft.kvision.remote.Profile$attributes"></a>
+<code><span class="keyword">val </span><span class="identifier">attributes</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/authentication-attributes.html b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/authentication-attributes.html
new file mode 100644
index 00000000..3eacb792
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/authentication-attributes.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.authenticationAttributes - kvision</title>
+<link rel="stylesheet" href="../../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="../index.html">Profile</a>&nbsp;/&nbsp;<a href="./authentication-attributes.html">authenticationAttributes</a><br/>
+<br/>
+<h1>authenticationAttributes</h1>
+<a name="pl.treksoft.kvision.remote.Profile$authenticationAttributes"></a>
+<code><span class="keyword">val </span><span class="identifier">authenticationAttributes</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/client-name.html b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/client-name.html
new file mode 100644
index 00000000..f84a45e0
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/client-name.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.clientName - kvision</title>
+<link rel="stylesheet" href="../../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="../index.html">Profile</a>&nbsp;/&nbsp;<a href="./client-name.html">clientName</a><br/>
+<br/>
+<h1>clientName</h1>
+<a name="pl.treksoft.kvision.remote.Profile$clientName"></a>
+<code><span class="keyword">val </span><span class="identifier">clientName</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/display-name.html b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/display-name.html
new file mode 100644
index 00000000..ed5b697d
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/display-name.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.displayName - kvision</title>
+<link rel="stylesheet" href="../../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="../index.html">Profile</a>&nbsp;/&nbsp;<a href="./display-name.html">displayName</a><br/>
+<br/>
+<h1>displayName</h1>
+<a name="pl.treksoft.kvision.remote.Profile$displayName"></a>
+<code><span class="keyword">var </span><span class="identifier">displayName</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/email.html b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/email.html
new file mode 100644
index 00000000..bbf474c1
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/email.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.email - kvision</title>
+<link rel="stylesheet" href="../../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="../index.html">Profile</a>&nbsp;/&nbsp;<a href="./email.html">email</a><br/>
+<br/>
+<h1>email</h1>
+<a name="pl.treksoft.kvision.remote.Profile$email"></a>
+<code><span class="keyword">var </span><span class="identifier">email</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/family-name.html b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/family-name.html
new file mode 100644
index 00000000..9ea4ea04
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/family-name.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.familyName - kvision</title>
+<link rel="stylesheet" href="../../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="../index.html">Profile</a>&nbsp;/&nbsp;<a href="./family-name.html">familyName</a><br/>
+<br/>
+<h1>familyName</h1>
+<a name="pl.treksoft.kvision.remote.Profile$familyName"></a>
+<code><span class="keyword">var </span><span class="identifier">familyName</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/first-name.html b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/first-name.html
new file mode 100644
index 00000000..33c933aa
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/first-name.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.firstName - kvision</title>
+<link rel="stylesheet" href="../../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="../index.html">Profile</a>&nbsp;/&nbsp;<a href="./first-name.html">firstName</a><br/>
+<br/>
+<h1>firstName</h1>
+<a name="pl.treksoft.kvision.remote.Profile$firstName"></a>
+<code><span class="keyword">var </span><span class="identifier">firstName</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/id.html b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/id.html
new file mode 100644
index 00000000..405fe309
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/id.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.id - kvision</title>
+<link rel="stylesheet" href="../../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="../index.html">Profile</a>&nbsp;/&nbsp;<a href="./id.html">id</a><br/>
+<br/>
+<h1>id</h1>
+<a name="pl.treksoft.kvision.remote.Profile$id"></a>
+<code><span class="keyword">val </span><span class="identifier">id</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/index.html b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/index.html
new file mode 100644
index 00000000..d5884f19
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/index.html
@@ -0,0 +1,138 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile - kvision</title>
+<link rel="stylesheet" href="../../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">Profile</a><br/>
+<br/>
+<h1>Profile</h1>
+<code><span class="keyword">expect</span> <span class="keyword">class </span><span class="identifier">Profile</span></code>
+<p>A user profile.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-profile/-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">Profile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/id">id</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/attributes">attributes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableMapOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/authenticationAttributes">authenticationAttributes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableMapOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/roles">roles</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableSetOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/permissions">permissions</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableSetOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/linkedId">linkedId</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/remembered">remembered</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/clientName">clientName</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<p>A user profile.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-profile/attributes.html">attributes</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">attributes</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/authentication-attributes.html">authenticationAttributes</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">authenticationAttributes</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/client-name.html">clientName</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">clientName</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/display-name.html">displayName</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">displayName</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/email.html">email</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">email</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/family-name.html">familyName</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">familyName</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/first-name.html">firstName</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">firstName</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/id.html">id</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">id</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/linked-id.html">linkedId</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">linkedId</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/permissions.html">permissions</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">permissions</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/picture-url.html">pictureUrl</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">pictureUrl</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/profile-url.html">profileUrl</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">profileUrl</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/remembered.html">remembered</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">remembered</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/roles.html">roles</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">roles</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/username.html">username</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">username</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/linked-id.html b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/linked-id.html
new file mode 100644
index 00000000..93772631
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/linked-id.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.linkedId - kvision</title>
+<link rel="stylesheet" href="../../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="../index.html">Profile</a>&nbsp;/&nbsp;<a href="./linked-id.html">linkedId</a><br/>
+<br/>
+<h1>linkedId</h1>
+<a name="pl.treksoft.kvision.remote.Profile$linkedId"></a>
+<code><span class="keyword">val </span><span class="identifier">linkedId</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/permissions.html b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/permissions.html
new file mode 100644
index 00000000..286422b0
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/permissions.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.permissions - kvision</title>
+<link rel="stylesheet" href="../../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="../index.html">Profile</a>&nbsp;/&nbsp;<a href="./permissions.html">permissions</a><br/>
+<br/>
+<h1>permissions</h1>
+<a name="pl.treksoft.kvision.remote.Profile$permissions"></a>
+<code><span class="keyword">val </span><span class="identifier">permissions</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/picture-url.html b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/picture-url.html
new file mode 100644
index 00000000..b2c35256
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/picture-url.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.pictureUrl - kvision</title>
+<link rel="stylesheet" href="../../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="../index.html">Profile</a>&nbsp;/&nbsp;<a href="./picture-url.html">pictureUrl</a><br/>
+<br/>
+<h1>pictureUrl</h1>
+<a name="pl.treksoft.kvision.remote.Profile$pictureUrl"></a>
+<code><span class="keyword">var </span><span class="identifier">pictureUrl</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/profile-url.html b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/profile-url.html
new file mode 100644
index 00000000..00370b2e
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/profile-url.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.profileUrl - kvision</title>
+<link rel="stylesheet" href="../../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="../index.html">Profile</a>&nbsp;/&nbsp;<a href="./profile-url.html">profileUrl</a><br/>
+<br/>
+<h1>profileUrl</h1>
+<a name="pl.treksoft.kvision.remote.Profile$profileUrl"></a>
+<code><span class="keyword">var </span><span class="identifier">profileUrl</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/remembered.html b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/remembered.html
new file mode 100644
index 00000000..8b4e6caf
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/remembered.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.remembered - kvision</title>
+<link rel="stylesheet" href="../../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="../index.html">Profile</a>&nbsp;/&nbsp;<a href="./remembered.html">remembered</a><br/>
+<br/>
+<h1>remembered</h1>
+<a name="pl.treksoft.kvision.remote.Profile$remembered"></a>
+<code><span class="keyword">val </span><span class="identifier">remembered</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/roles.html b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/roles.html
new file mode 100644
index 00000000..90d41e0b
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/roles.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.roles - kvision</title>
+<link rel="stylesheet" href="../../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="../index.html">Profile</a>&nbsp;/&nbsp;<a href="./roles.html">roles</a><br/>
+<br/>
+<h1>roles</h1>
+<a name="pl.treksoft.kvision.remote.Profile$roles"></a>
+<code><span class="keyword">val </span><span class="identifier">roles</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/username.html b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/username.html
new file mode 100644
index 00000000..c74044f4
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/-profile/username.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Profile.username - kvision</title>
+<link rel="stylesheet" href="../../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="../index.html">Profile</a>&nbsp;/&nbsp;<a href="./username.html">username</a><br/>
+<br/>
+<h1>username</h1>
+<a name="pl.treksoft.kvision.remote.Profile$username"></a>
+<code><span class="keyword">var </span><span class="identifier">username</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-profile/index.html b/api/kvision/pl.treksoft.kvision.remote/-profile/index.html
new file mode 100644
index 00000000..7e274804
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-profile/index.html
@@ -0,0 +1,140 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>pl.treksoft.kvision.remote.Profile - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">Profile</a><br/>
+<br/>
+<h1>Profile</h1>
+<code><span class="keyword">actual</span> <span class="keyword">typealias </span><span class="identifier">Profile</span>&nbsp;<span class="symbol">=</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span></code>
+<p>A user profile.</p>
+<code><span class="keyword">expect</span> <span class="keyword">class </span><span class="identifier">Profile</span></code>
+<p>A user profile.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-profile/-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">Profile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/id">id</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/attributes">attributes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableMapOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/authenticationAttributes">authenticationAttributes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableMapOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/roles">roles</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableSetOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/permissions">permissions</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;mutableSetOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/linkedId">linkedId</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/remembered">remembered</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.Profile$<init>(kotlin.String, kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableMap((kotlin.String, )), kotlin.collections.MutableSet((kotlin.String)), kotlin.collections.MutableSet((kotlin.String)), kotlin.String, kotlin.Boolean, kotlin.String)/clientName">clientName</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<p>A user profile.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-profile/attributes.html">attributes</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">attributes</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/authentication-attributes.html">authenticationAttributes</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">authenticationAttributes</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/client-name.html">clientName</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">clientName</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/display-name.html">displayName</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">displayName</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/email.html">email</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">email</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/family-name.html">familyName</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">familyName</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/first-name.html">firstName</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">firstName</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/id.html">id</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">id</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/linked-id.html">linkedId</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">linkedId</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/permissions.html">permissions</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">permissions</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/picture-url.html">pictureUrl</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">pictureUrl</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/profile-url.html">profileUrl</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">profileUrl</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/remembered.html">remembered</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">remembered</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/roles.html">roles</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">roles</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-set/index.html"><span class="identifier">MutableSet</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/username.html">username</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">username</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-remote-agent.html b/api/kvision/pl.treksoft.kvision.remote/-remote-agent.html
new file mode 100644
index 00000000..db812b84
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-remote-agent.html
@@ -0,0 +1,37 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>RemoteAgent - kvision</title>
+<link rel="stylesheet" href="../../style.css">
+</HEAD>
+<BODY>
+<a href="../index.html">kvision</a>&nbsp;/&nbsp;<a href="index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./-remote-agent.html">RemoteAgent</a><br/>
+<br/>
+<h1>RemoteAgent</h1>
+<code><span class="keyword">interface </span><span class="identifier">RemoteAgent</span></code>
+<p>Interface for client side agent for JSON-RPC remote calls.</p>
+<h3>Inheritors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-jooby-remote-agent/index.html">JoobyRemoteAgent</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">JoobyRemoteAgent</span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./-remote-agent.html"><span class="identifier">RemoteAgent</span></a></code>
+<p>Client side agent for JSON-RPC remote calls with Jooby.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-spring-remote-agent/index.html">SpringRemoteAgent</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">SpringRemoteAgent</span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./-remote-agent.html"><span class="identifier">RemoteAgent</span></a></code>
+<p>Client side agent for JSON-RPC remote calls with Spring Boot.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-request.html b/api/kvision/pl.treksoft.kvision.remote/-request.html
new file mode 100644
index 00000000..bb5e13da
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-request.html
@@ -0,0 +1,46 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Request - kvision</title>
+<link rel="stylesheet" href="../../style.css">
+</HEAD>
+<BODY>
+<a href="../index.html">kvision</a>&nbsp;/&nbsp;<a href="index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./-request.html">Request</a><br/>
+<br/>
+<h1>Request</h1>
+<code><span class="keyword">expect</span> <span class="keyword">interface </span><span class="identifier">Request</span></code>
+<p>A server request.</p>
+<h3>Extension Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="async.html">async</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RESP</span><span class="symbol">&gt;</span> <a href="./-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">.</span><span class="identifier">async</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$async(pl.treksoft.kvision.remote.Request, kotlin.Function1((pl.treksoft.kvision.remote.Request, pl.treksoft.kvision.remote.async.RESP)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./-request.html"><span class="identifier">Request</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="async.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="async.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">&gt;</span></code>
+<p>A helper extension function for asynchronous request processing.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="async-auth.html">asyncAuth</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RESP</span><span class="symbol">&gt;</span> <a href="./-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">.</span><span class="identifier">asyncAuth</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$asyncAuth(pl.treksoft.kvision.remote.Request, kotlin.Function3((pl.treksoft.kvision.remote.Request, , pl.treksoft.kvision.remote.Profile, pl.treksoft.kvision.remote.asyncAuth.RESP)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./-request.html"><span class="identifier">Request</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<a href="-profile/index.html"><span class="identifier">Profile</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="async-auth.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="async-auth.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">&gt;</span></code>
+<p>A helper extension function for asynchronous request processing with session and user profile.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="async-session.html">asyncSession</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RESP</span><span class="symbol">&gt;</span> <a href="./-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">.</span><span class="identifier">asyncSession</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$asyncSession(pl.treksoft.kvision.remote.Request, kotlin.Function2((pl.treksoft.kvision.remote.Request, , pl.treksoft.kvision.remote.asyncSession.RESP)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="./-request.html"><span class="identifier">Request</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="async-session.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="async-session.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">&gt;</span></code>
+<p>A helper extension function for asynchronous request processing with session.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/-d-e-l-e-t-e.html b/api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/-d-e-l-e-t-e.html
new file mode 100644
index 00000000..f396e972
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/-d-e-l-e-t-e.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>RpcHttpMethod.DELETE - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">RpcHttpMethod</a>&nbsp;/&nbsp;<a href="./-d-e-l-e-t-e.html">DELETE</a><br/>
+<br/>
+<h1>DELETE</h1>
+<a name="pl.treksoft.kvision.remote.RpcHttpMethod.DELETE"></a>
+<code><span class="identifier">DELETE</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/-o-p-t-i-o-n-s.html b/api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/-o-p-t-i-o-n-s.html
new file mode 100644
index 00000000..a53e36f4
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/-o-p-t-i-o-n-s.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>RpcHttpMethod.OPTIONS - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">RpcHttpMethod</a>&nbsp;/&nbsp;<a href="./-o-p-t-i-o-n-s.html">OPTIONS</a><br/>
+<br/>
+<h1>OPTIONS</h1>
+<a name="pl.treksoft.kvision.remote.RpcHttpMethod.OPTIONS"></a>
+<code><span class="identifier">OPTIONS</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/-p-o-s-t.html b/api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/-p-o-s-t.html
new file mode 100644
index 00000000..429f3e23
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/-p-o-s-t.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>RpcHttpMethod.POST - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">RpcHttpMethod</a>&nbsp;/&nbsp;<a href="./-p-o-s-t.html">POST</a><br/>
+<br/>
+<h1>POST</h1>
+<a name="pl.treksoft.kvision.remote.RpcHttpMethod.POST"></a>
+<code><span class="identifier">POST</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/-p-u-t.html b/api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/-p-u-t.html
new file mode 100644
index 00000000..a64b5297
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/-p-u-t.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>RpcHttpMethod.PUT - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">RpcHttpMethod</a>&nbsp;/&nbsp;<a href="./-p-u-t.html">PUT</a><br/>
+<br/>
+<h1>PUT</h1>
+<a name="pl.treksoft.kvision.remote.RpcHttpMethod.PUT"></a>
+<code><span class="identifier">PUT</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/index.html b/api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/index.html
new file mode 100644
index 00000000..dd617260
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-rpc-http-method/index.html
@@ -0,0 +1,46 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>RpcHttpMethod - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">RpcHttpMethod</a><br/>
+<br/>
+<h1>RpcHttpMethod</h1>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">RpcHttpMethod</span></code>
+<h3>Enum Values</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-p-o-s-t.html">POST</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-p-u-t.html">PUT</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-d-e-l-e-t-e.html">DELETE</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-o-p-t-i-o-n-s.html">OPTIONS</a></p>
+</td>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-security-exception/-init-.html b/api/kvision/pl.treksoft.kvision.remote/-security-exception/-init-.html
new file mode 100644
index 00000000..d959cf47
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-security-exception/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SecurityException.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SecurityException</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.SecurityException$&lt;init&gt;(kotlin.String)"></a>
+<code><span class="identifier">SecurityException</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SecurityException$<init>(kotlin.String)/message">message</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span></code>
+<p>A security exception.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-security-exception/index.html b/api/kvision/pl.treksoft.kvision.remote/-security-exception/index.html
new file mode 100644
index 00000000..49182894
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-security-exception/index.html
@@ -0,0 +1,28 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SecurityException - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">SecurityException</a><br/>
+<br/>
+<h1>SecurityException</h1>
+<code><span class="keyword">class </span><span class="identifier">SecurityException</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-exception/index.html"><span class="identifier">Exception</span></a></code>
+<p>A security exception.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">SecurityException</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SecurityException$<init>(kotlin.String)/message">message</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span></code>
+<p>A security exception.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-security-mgr/-init-.html b/api/kvision/pl.treksoft.kvision.remote/-security-mgr/-init-.html
new file mode 100644
index 00000000..4e31e55d
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-security-mgr/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SecurityMgr.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SecurityMgr</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.SecurityMgr$&lt;init&gt;()"></a>
+<code><span class="identifier">SecurityMgr</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>Pac4j form login dispatcher.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-security-mgr/after-error.html b/api/kvision/pl.treksoft.kvision.remote/-security-mgr/after-error.html
new file mode 100644
index 00000000..68c357da
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-security-mgr/after-error.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SecurityMgr.afterError - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SecurityMgr</a>&nbsp;/&nbsp;<a href="./after-error.html">afterError</a><br/>
+<br/>
+<h1>afterError</h1>
+<a name="pl.treksoft.kvision.remote.SecurityMgr$afterError()"></a>
+<code><span class="keyword">open</span> <span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">afterError</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Method called after error.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-security-mgr/after-login.html b/api/kvision/pl.treksoft.kvision.remote/-security-mgr/after-login.html
new file mode 100644
index 00000000..f018290f
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-security-mgr/after-login.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SecurityMgr.afterLogin - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SecurityMgr</a>&nbsp;/&nbsp;<a href="./after-login.html">afterLogin</a><br/>
+<br/>
+<h1>afterLogin</h1>
+<a name="pl.treksoft.kvision.remote.SecurityMgr$afterLogin()"></a>
+<code><span class="keyword">open</span> <span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">afterLogin</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Method called after successful login.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-security-mgr/index.html b/api/kvision/pl.treksoft.kvision.remote/-security-mgr/index.html
new file mode 100644
index 00000000..2c1b3d96
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-security-mgr/index.html
@@ -0,0 +1,69 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SecurityMgr - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">SecurityMgr</a><br/>
+<br/>
+<h1>SecurityMgr</h1>
+<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">SecurityMgr</span></code>
+<p>Pac4j form login dispatcher.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">SecurityMgr</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>Pac4j form login dispatcher.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="after-error.html">afterError</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">afterError</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Method called after error.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="after-login.html">afterLogin</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">afterLogin</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Method called after successful login.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="login.html">login</a></p>
+</td>
+<td>
+<code><span class="keyword">abstract</span> <span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">login</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p>Login user.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="with-auth.html">withAuth</a></p>
+</td>
+<td>
+<code><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">withAuth</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SecurityMgr$withAuth(kotlin.SuspendFunction0((pl.treksoft.kvision.remote.SecurityMgr.withAuth.T)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="with-auth.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="with-auth.html#T"><span class="identifier">T</span></a></code>
+<p>Executes given block of code after successful authentication.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-security-mgr/login.html b/api/kvision/pl.treksoft.kvision.remote/-security-mgr/login.html
new file mode 100644
index 00000000..a859fdd1
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-security-mgr/login.html
@@ -0,0 +1,20 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SecurityMgr.login - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SecurityMgr</a>&nbsp;/&nbsp;<a href="./login.html">login</a><br/>
+<br/>
+<h1>login</h1>
+<a name="pl.treksoft.kvision.remote.SecurityMgr$login()"></a>
+<code><span class="keyword">abstract</span> <span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">login</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p>Login user.</p>
+<h3>Exceptions</h3>
+<p><a name="SecurityException"></a>
+<code>SecurityException</code> - if login is not successful</p>
+<p><strong>Return</strong><br/>
+true if login is successful</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-security-mgr/with-auth.html b/api/kvision/pl.treksoft.kvision.remote/-security-mgr/with-auth.html
new file mode 100644
index 00000000..cf76923e
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-security-mgr/with-auth.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SecurityMgr.withAuth - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SecurityMgr</a>&nbsp;/&nbsp;<a href="./with-auth.html">withAuth</a><br/>
+<br/>
+<h1>withAuth</h1>
+<a name="pl.treksoft.kvision.remote.SecurityMgr$withAuth(kotlin.SuspendFunction0((pl.treksoft.kvision.remote.SecurityMgr.withAuth.T)))"></a>
+<code><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">withAuth</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SecurityMgr$withAuth(kotlin.SuspendFunction0((pl.treksoft.kvision.remote.SecurityMgr.withAuth.T)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="with-auth.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="with-auth.html#T"><span class="identifier">T</span></a></code>
+<p>Executes given block of code after successful authentication.</p>
+<h3>Parameters</h3>
+<p><a name="block"></a>
+<code>block</code> - a block of code</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-service-manager/get-calls.html b/api/kvision/pl.treksoft.kvision.remote/-service-manager/get-calls.html
new file mode 100644
index 00000000..de2ac017
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-service-manager/get-calls.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ServiceManager.getCalls - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">ServiceManager</a>&nbsp;/&nbsp;<a href="./get-calls.html">getCalls</a><br/>
+<br/>
+<h1>getCalls</h1>
+<a name="pl.treksoft.kvision.remote.ServiceManager$getCalls()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getCalls</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html"><span class="identifier">Map</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+<p>Returns the map of defined paths.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-service-manager/index.html b/api/kvision/pl.treksoft.kvision.remote/-service-manager/index.html
new file mode 100644
index 00000000..6b6dc933
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-service-manager/index.html
@@ -0,0 +1,50 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>ServiceManager - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">ServiceManager</a><br/>
+<br/>
+<h1>ServiceManager</h1>
+<code><span class="keyword">interface </span><span class="identifier">ServiceManager</span></code>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="get-calls.html">getCalls</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getCalls</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html"><span class="identifier">Map</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+<p>Returns the map of defined paths.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inheritors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-jooby-service-manager/index.html">JoobyServiceManager</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">expect</span> <span class="keyword">class </span><span class="identifier">JoobyServiceManager</span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">ServiceManager</span></a></code>
+<p>Multiplatform service manager for Jooby.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-spring-service-manager/index.html">SpringServiceManager</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">expect</span> <span class="keyword">class </span><span class="identifier">SpringServiceManager</span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">ServiceManager</span></a></code>
+<p>Multiplatform service manager for Spring Boot.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-context/-init-.html b/api/kvision/pl.treksoft.kvision.remote/-spring-context/-init-.html
new file mode 100644
index 00000000..66b70a2d
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-context/-init-.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringContext.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringContext</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.SpringContext$&lt;init&gt;()"></a>
+<code><span class="identifier">SpringContext</span><span class="symbol">(</span><span class="symbol">)</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-context/get-bean.html b/api/kvision/pl.treksoft.kvision.remote/-spring-context/get-bean.html
new file mode 100644
index 00000000..24be4c0c
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-context/get-bean.html
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringContext.getBean - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringContext</a>&nbsp;/&nbsp;<a href="./get-bean.html">getBean</a><br/>
+<br/>
+<h1>getBean</h1>
+<a name="pl.treksoft.kvision.remote.SpringContext.Companion$getBean(java.lang.Class((pl.treksoft.kvision.remote.SpringContext.Companion.getBean.T)))"></a>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">getBean</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringContext.Companion$getBean(java.lang.Class((pl.treksoft.kvision.remote.SpringContext.Companion.getBean.T)))/beanClass">beanClass</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><a href="get-bean.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="get-bean.html#T"><span class="identifier">T</span></a></code>
+<p>Get a Spring bean by type.</p>
+<a name="pl.treksoft.kvision.remote.SpringContext.Companion$getBean(kotlin.String)"></a>
+<code><span class="keyword">fun </span><span class="identifier">getBean</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringContext.Companion$getBean(kotlin.String)/beanName">beanName</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a></code>
+<p>Get a Spring bean by name.</p>
+<a name="pl.treksoft.kvision.remote.SpringContext.Companion$getBean(kotlin.String, java.lang.Class((pl.treksoft.kvision.remote.SpringContext.Companion.getBean.T)))"></a>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">getBean</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringContext.Companion$getBean(kotlin.String, java.lang.Class((pl.treksoft.kvision.remote.SpringContext.Companion.getBean.T)))/beanName">beanName</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringContext.Companion$getBean(kotlin.String, java.lang.Class((pl.treksoft.kvision.remote.SpringContext.Companion.getBean.T)))/beanClass">beanClass</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><a href="get-bean.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="get-bean.html#T"><span class="identifier">T</span></a></code>
+<p>Get a Spring bean by name and type.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-context/index.html b/api/kvision/pl.treksoft.kvision.remote/-spring-context/index.html
new file mode 100644
index 00000000..1fdadc3e
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-context/index.html
@@ -0,0 +1,55 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringContext - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">SpringContext</a><br/>
+<br/>
+<h1>SpringContext</h1>
+<code><span class="keyword">class </span><span class="identifier">SpringContext</span></code>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">SpringContext</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="set-application-context.html">setApplicationContext</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">setApplicationContext</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringContext$setApplicationContext()/applicationContext">applicationContext</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="get-bean.html">getBean</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">getBean</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringContext.Companion$getBean(java.lang.Class((pl.treksoft.kvision.remote.SpringContext.Companion.getBean.T)))/beanClass">beanClass</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><a href="get-bean.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="get-bean.html#T"><span class="identifier">T</span></a></code>
+<p>Get a Spring bean by type.</p>
+<code><span class="keyword">fun </span><span class="identifier">getBean</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringContext.Companion$getBean(kotlin.String)/beanName">beanName</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a></code>
+<p>Get a Spring bean by name.</p>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">getBean</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringContext.Companion$getBean(kotlin.String, java.lang.Class((pl.treksoft.kvision.remote.SpringContext.Companion.getBean.T)))/beanName">beanName</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringContext.Companion$getBean(kotlin.String, java.lang.Class((pl.treksoft.kvision.remote.SpringContext.Companion.getBean.T)))/beanClass">beanClass</span><span class="symbol">:</span>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html"><span class="identifier">Class</span></a><span class="symbol">&lt;</span><a href="get-bean.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="get-bean.html#T"><span class="identifier">T</span></a></code>
+<p>Get a Spring bean by name and type.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-context/set-application-context.html b/api/kvision/pl.treksoft.kvision.remote/-spring-context/set-application-context.html
new file mode 100644
index 00000000..96f64914
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-context/set-application-context.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringContext.setApplicationContext - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringContext</a>&nbsp;/&nbsp;<a href="./set-application-context.html">setApplicationContext</a><br/>
+<br/>
+<h1>setApplicationContext</h1>
+<a name="pl.treksoft.kvision.remote.SpringContext$setApplicationContext()"></a>
+<code><span class="keyword">fun </span><span class="identifier">setApplicationContext</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringContext$setApplicationContext()/applicationContext">applicationContext</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/-init-.html b/api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/-init-.html
new file mode 100644
index 00000000..6d8b71c8
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringRemoteAgent.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringRemoteAgent</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.SpringRemoteAgent$&lt;init&gt;(pl.treksoft.kvision.remote.SpringServiceManager((pl.treksoft.kvision.remote.SpringRemoteAgent.T)))"></a>
+<code><span class="identifier">SpringRemoteAgent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$<init>(pl.treksoft.kvision.remote.SpringServiceManager((pl.treksoft.kvision.remote.SpringRemoteAgent.T)))/serviceManager">serviceManager</span><span class="symbol">:</span>&nbsp;<a href="../-spring-service-manager/index.html"><span class="identifier">SpringServiceManager</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span></code>
+<p>Client side agent for JSON-RPC remote calls with Spring Boot.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/call-agent.html b/api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/call-agent.html
new file mode 100644
index 00000000..932eea7b
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/call-agent.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringRemoteAgent.callAgent - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringRemoteAgent</a>&nbsp;/&nbsp;<a href="./call-agent.html">callAgent</a><br/>
+<br/>
+<h1>callAgent</h1>
+<a name="pl.treksoft.kvision.remote.SpringRemoteAgent$callAgent"></a>
+<code><span class="keyword">val </span><span class="identifier">callAgent</span><span class="symbol">: </span><a href="../-call-agent/index.html"><span class="identifier">CallAgent</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/call.html b/api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/call.html
new file mode 100644
index 00000000..5b9ec2f1
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/call.html
@@ -0,0 +1,37 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringRemoteAgent.call - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringRemoteAgent</a>&nbsp;/&nbsp;<a href="./call.html">call</a><br/>
+<br/>
+<h1>call</h1>
+<a name="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function1((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function1((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function1((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))))"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function1((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR)/p">p</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR)/p">p</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR5</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p5">p5</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<a name="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)"></a>
+<code><span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR5</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p5">p5</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+<p>Executes defined call to a remote web service.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/index.html b/api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/index.html
new file mode 100644
index 00000000..98110ab6
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/index.html
@@ -0,0 +1,72 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringRemoteAgent - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">SpringRemoteAgent</a><br/>
+<br/>
+<h1>SpringRemoteAgent</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">SpringRemoteAgent</span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-remote-agent.html"><span class="identifier">RemoteAgent</span></a></code>
+<p>Client side agent for JSON-RPC remote calls with Spring Boot.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">SpringRemoteAgent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$<init>(pl.treksoft.kvision.remote.SpringServiceManager((pl.treksoft.kvision.remote.SpringRemoteAgent.T)))/serviceManager">serviceManager</span><span class="symbol">:</span>&nbsp;<a href="../-spring-service-manager/index.html"><span class="identifier">SpringServiceManager</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span></code>
+<p>Client side agent for JSON-RPC remote calls with Spring Boot.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="call-agent.html">callAgent</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">callAgent</span><span class="symbol">: </span><a href="../-call-agent/index.html"><span class="identifier">CallAgent</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="service-manager.html">serviceManager</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">serviceManager</span><span class="symbol">: </span><a href="../-spring-service-manager/index.html"><span class="identifier">SpringServiceManager</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="call.html">call</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function1((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function1((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))))/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR)/p">p</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function2((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR)/p">p</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function3((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function4((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">PAR4</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">PAR4</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function5((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4)/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">PAR4</span><span class="symbol">, </span><span class="identifier">PAR5</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p5">p5</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">PAR4</span><span class="symbol">, </span><span class="identifier">PAR5</span><span class="symbol">, </span><span class="identifier">RET</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/function">function</span><span class="symbol">:</span>&nbsp;<a href="call.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p1">p1</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p2">p2</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p3">p3</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p4">p4</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringRemoteAgent$call(kotlin.Function6((pl.treksoft.kvision.remote.SpringRemoteAgent.call.T, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5, kotlinx.coroutines.Deferred((kotlin.collections.List((pl.treksoft.kvision.remote.SpringRemoteAgent.call.RET)))))), pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR1, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR2, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR3, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR4, pl.treksoft.kvision.remote.SpringRemoteAgent.call.PAR5)/p5">p5</span><span class="symbol">:</span>&nbsp;<a href="call.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="call.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+<p>Executes defined call to a remote web service.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/service-manager.html b/api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/service-manager.html
new file mode 100644
index 00000000..c8bb5c61
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-remote-agent/service-manager.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringRemoteAgent.serviceManager - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringRemoteAgent</a>&nbsp;/&nbsp;<a href="./service-manager.html">serviceManager</a><br/>
+<br/>
+<h1>serviceManager</h1>
+<a name="pl.treksoft.kvision.remote.SpringRemoteAgent$serviceManager"></a>
+<code><span class="keyword">val </span><span class="identifier">serviceManager</span><span class="symbol">: </span><a href="../-spring-service-manager/index.html"><span class="identifier">SpringServiceManager</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/-init-.html b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/-init-.html
new file mode 100644
index 00000000..59109334
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringServiceManager.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringServiceManager</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager$&lt;init&gt;(kotlin.reflect.KClass((pl.treksoft.kvision.remote.SpringServiceManager.T)))"></a>
+<code><span class="identifier">SpringServiceManager</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$<init>(kotlin.reflect.KClass((pl.treksoft.kvision.remote.SpringServiceManager.T)))/serviceClass">serviceClass</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html"><span class="identifier">KClass</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span></code>
+<p>Multiplatform service manager for Spring Boot.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/-l-o-g.html b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/-l-o-g.html
new file mode 100644
index 00000000..93bf5966
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/-l-o-g.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringServiceManager.LOG - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringServiceManager</a>&nbsp;/&nbsp;<a href="./-l-o-g.html">LOG</a><br/>
+<br/>
+<h1>LOG</h1>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager.Companion$LOG"></a>
+<code><span class="keyword">val </span><span class="identifier">LOG</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/add-route.html b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/add-route.html
new file mode 100644
index 00000000..350bb643
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/add-route.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringServiceManager.addRoute - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringServiceManager</a>&nbsp;/&nbsp;<a href="./add-route.html">addRoute</a><br/>
+<br/>
+<h1>addRoute</h1>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager$addRoute(pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.kvision.remote.Request, , kotlin.Unit)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">addRoute</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$addRoute(pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.kvision.remote.Request, , kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$addRoute(pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.kvision.remote.Request, , kotlin.Unit)))/path">path</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$addRoute(pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.kvision.remote.Request, , kotlin.Unit)))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/bind.html b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/bind.html
new file mode 100644
index 00000000..c128d916
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/bind.html
@@ -0,0 +1,32 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringServiceManager.bind - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringServiceManager</a>&nbsp;/&nbsp;<a href="./bind.html">bind</a><br/>
+<br/>
+<h1>bind</h1>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function1((pl.treksoft.kvision.remote.SpringServiceManager.T, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function1((pl.treksoft.kvision.remote.SpringServiceManager.T, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function1((pl.treksoft.kvision.remote.SpringServiceManager.T, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function1((pl.treksoft.kvision.remote.SpringServiceManager.T, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR4, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR4, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR4, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR4, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR4, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR5</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR4, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR4, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR4, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Binds a given route with a function of the receiver.</p>
+<h3>Parameters</h3>
+<p><a name="function"></a>
+<code>function</code> - a function of the receiver</p>
+<p><a name="route"></a>
+<code>route</code> - a route</p>
+<p><a name="method"></a>
+<code>method</code> - a HTTP method</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/calls.html b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/calls.html
new file mode 100644
index 00000000..65bee773
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/calls.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringServiceManager.calls - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringServiceManager</a>&nbsp;/&nbsp;<a href="./calls.html">calls</a><br/>
+<br/>
+<h1>calls</h1>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager$calls"></a>
+<code><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">calls</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/counter.html b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/counter.html
new file mode 100644
index 00000000..5343055f
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/counter.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringServiceManager.counter - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringServiceManager</a>&nbsp;/&nbsp;<a href="./counter.html">counter</a><br/>
+<br/>
+<h1>counter</h1>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager$counter"></a>
+<code><span class="keyword">var </span><span class="identifier">counter</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/delete-requests.html b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/delete-requests.html
new file mode 100644
index 00000000..e3e361dc
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/delete-requests.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringServiceManager.deleteRequests - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringServiceManager</a>&nbsp;/&nbsp;<a href="./delete-requests.html">deleteRequests</a><br/>
+<br/>
+<h1>deleteRequests</h1>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager$deleteRequests"></a>
+<code><span class="keyword">val </span><span class="identifier">deleteRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/get-calls.html b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/get-calls.html
new file mode 100644
index 00000000..f9e9f953
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/get-calls.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringServiceManager.getCalls - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringServiceManager</a>&nbsp;/&nbsp;<a href="./get-calls.html">getCalls</a><br/>
+<br/>
+<h1>getCalls</h1>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager$getCalls()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getCalls</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html"><span class="identifier">Map</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+<p>Overrides <a href="../-service-manager/get-calls.html">ServiceManager.getCalls</a></p>
+<p>Returns the map of defined paths.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/get-parameter.html b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/get-parameter.html
new file mode 100644
index 00000000..567b07b3
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/get-parameter.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringServiceManager.getParameter - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringServiceManager</a>&nbsp;/&nbsp;<a href="./get-parameter.html">getParameter</a><br/>
+<br/>
+<h1>getParameter</h1>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager$getParameter(kotlin.String)"></a>
+<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">getParameter</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$getParameter(kotlin.String)/str">str</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="get-parameter.html#T"><span class="identifier">T</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/index.html b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/index.html
new file mode 100644
index 00000000..1b3f1639
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/index.html
@@ -0,0 +1,157 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringServiceManager - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">SpringServiceManager</a><br/>
+<br/>
+<h1>SpringServiceManager</h1>
+<code><span class="keyword">open</span> <span class="keyword">expect</span> <span class="keyword">class </span><span class="identifier">SpringServiceManager</span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-service-manager/index.html"><span class="identifier">ServiceManager</span></a></code>
+<p>Multiplatform service manager for Spring Boot.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">SpringServiceManager</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$<init>(kotlin.reflect.KClass((pl.treksoft.kvision.remote.SpringServiceManager.T)))/serviceClass">serviceClass</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html"><span class="identifier">KClass</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span></code>
+<p>Multiplatform service manager for Spring Boot.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="calls.html">calls</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">calls</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="counter.html">counter</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">counter</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="delete-requests.html">deleteRequests</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">deleteRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="mapper.html">mapper</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">mapper</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="options-requests.html">optionsRequests</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">optionsRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="post-requests.html">postRequests</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">postRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="put-requests.html">putRequests</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">putRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="service-class.html">serviceClass</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">serviceClass</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html"><span class="identifier">KClass</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="add-route.html">addRoute</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">addRoute</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$addRoute(pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.kvision.remote.Request, , kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$addRoute(pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.kvision.remote.Request, , kotlin.Unit)))/path">path</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$addRoute(pl.treksoft.kvision.remote.RpcHttpMethod, kotlin.String, kotlin.Function2((pl.treksoft.kvision.remote.Request, , kotlin.Unit)))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="bind.html">bind</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function1((pl.treksoft.kvision.remote.SpringServiceManager.T, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function1((pl.treksoft.kvision.remote.SpringServiceManager.T, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function1((pl.treksoft.kvision.remote.SpringServiceManager.T, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR</span><span class="symbol">, </span><span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function2((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function4((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">PAR4</span><span class="symbol">, </span><span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR4, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR4, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function5((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR4, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">PAR1</span><span class="symbol">, </span><span class="identifier">PAR2</span><span class="symbol">, </span><span class="identifier">PAR3</span><span class="symbol">, </span><span class="identifier">PAR4</span><span class="symbol">, </span><span class="identifier">PAR5</span><span class="symbol">, </span><span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR4, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/function">function</span><span class="symbol">:</span>&nbsp;<a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="bind.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR4, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$bind(kotlin.Function6((pl.treksoft.kvision.remote.SpringServiceManager.T, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR1, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR2, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR3, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR4, pl.treksoft.kvision.remote.SpringServiceManager.bind.PAR5, kotlinx.coroutines.Deferred((pl.treksoft.kvision.remote.SpringServiceManager.bind.RET)))), kotlin.String, pl.treksoft.kvision.remote.RpcHttpMethod)/method">method</span><span class="symbol">:</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a>&nbsp;<span class="symbol">=</span>&nbsp;RpcHttpMethod.POST<span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Binds a given route with a function of the receiver.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="get-calls.html">getCalls</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getCalls</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html"><span class="identifier">Map</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+<p>Returns the map of defined paths.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="get-parameter.html">getParameter</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">getParameter</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.SpringServiceManager$getParameter(kotlin.String)/str">str</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="get-parameter.html#T"><span class="identifier">T</span></a></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-service-manager/get-calls.html">getCalls</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getCalls</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html"><span class="identifier">Map</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="../-rpc-http-method/index.html"><span class="identifier">RpcHttpMethod</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+<p>Returns the map of defined paths.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Companion Object Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-l-o-g.html">LOG</a></p>
+</td>
+<td>
+<code><span class="keyword">val </span><span class="identifier">LOG</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/mapper.html b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/mapper.html
new file mode 100644
index 00000000..c10a7c2c
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/mapper.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringServiceManager.mapper - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringServiceManager</a>&nbsp;/&nbsp;<a href="./mapper.html">mapper</a><br/>
+<br/>
+<h1>mapper</h1>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager$mapper"></a>
+<code><span class="keyword">val </span><span class="identifier">mapper</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/options-requests.html b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/options-requests.html
new file mode 100644
index 00000000..eaa1af96
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/options-requests.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringServiceManager.optionsRequests - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringServiceManager</a>&nbsp;/&nbsp;<a href="./options-requests.html">optionsRequests</a><br/>
+<br/>
+<h1>optionsRequests</h1>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager$optionsRequests"></a>
+<code><span class="keyword">val </span><span class="identifier">optionsRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/post-requests.html b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/post-requests.html
new file mode 100644
index 00000000..b1c2066a
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/post-requests.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringServiceManager.postRequests - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringServiceManager</a>&nbsp;/&nbsp;<a href="./post-requests.html">postRequests</a><br/>
+<br/>
+<h1>postRequests</h1>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager$postRequests"></a>
+<code><span class="keyword">val </span><span class="identifier">postRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/put-requests.html b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/put-requests.html
new file mode 100644
index 00000000..d50b284d
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/put-requests.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringServiceManager.putRequests - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringServiceManager</a>&nbsp;/&nbsp;<a href="./put-requests.html">putRequests</a><br/>
+<br/>
+<h1>putRequests</h1>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager$putRequests"></a>
+<code><span class="keyword">val </span><span class="identifier">putRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="symbol">(</span><a href="../-request.html"><span class="identifier">Request</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/service-class.html b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/service-class.html
new file mode 100644
index 00000000..c791f397
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/-spring-service-manager/service-class.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>SpringServiceManager.serviceClass - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">SpringServiceManager</a>&nbsp;/&nbsp;<a href="./service-class.html">serviceClass</a><br/>
+<br/>
+<h1>serviceClass</h1>
+<a name="pl.treksoft.kvision.remote.SpringServiceManager$serviceClass"></a>
+<code><span class="keyword">val </span><span class="identifier">serviceClass</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html"><span class="identifier">KClass</span></a><span class="symbol">&lt;</span><a href="index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/add-path-patterns-from-services.html b/api/kvision/pl.treksoft.kvision.remote/add-path-patterns-from-services.html
new file mode 100644
index 00000000..38d8bc0e
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/add-path-patterns-from-services.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>addPathPatternsFromServices - kvision</title>
+<link rel="stylesheet" href="../../style.css">
+</HEAD>
+<BODY>
+<a href="../index.html">kvision</a>&nbsp;/&nbsp;<a href="index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./add-path-patterns-from-services.html">addPathPatternsFromServices</a><br/>
+<br/>
+<h1>addPathPatternsFromServices</h1>
+<a name="pl.treksoft.kvision.remote$addPathPatternsFromServices(, kotlin.collections.List((pl.treksoft.kvision.remote.SpringServiceManager((kotlin.Any)))))"></a>
+<code><span class="keyword">fun </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">addPathPatternsFromServices</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$addPathPatternsFromServices(, kotlin.collections.List((pl.treksoft.kvision.remote.SpringServiceManager((kotlin.Any)))))/services">services</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="-spring-service-manager/index.html"><span class="identifier">SpringServiceManager</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/async-auth.html b/api/kvision/pl.treksoft.kvision.remote/async-auth.html
new file mode 100644
index 00000000..3765e93c
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/async-auth.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>asyncAuth - kvision</title>
+<link rel="stylesheet" href="../../style.css">
+</HEAD>
+<BODY>
+<a href="../index.html">kvision</a>&nbsp;/&nbsp;<a href="index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./async-auth.html">asyncAuth</a><br/>
+<br/>
+<h1>asyncAuth</h1>
+<a name="pl.treksoft.kvision.remote$asyncAuth(pl.treksoft.kvision.remote.Request, kotlin.Function3((pl.treksoft.kvision.remote.Request, , pl.treksoft.kvision.remote.Profile, pl.treksoft.kvision.remote.asyncAuth.RESP)))"></a>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RESP</span><span class="symbol">&gt;</span> <a href="-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">.</span><span class="identifier">asyncAuth</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$asyncAuth(pl.treksoft.kvision.remote.Request, kotlin.Function3((pl.treksoft.kvision.remote.Request, , pl.treksoft.kvision.remote.Profile, pl.treksoft.kvision.remote.asyncAuth.RESP)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="-request.html"><span class="identifier">Request</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<a href="-profile/index.html"><span class="identifier">Profile</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="async-auth.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="async-auth.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">&gt;</span></code>
+<p>A helper extension function for asynchronous request processing with session and user profile.</p>
+<a name="pl.treksoft.kvision.remote$asyncAuth(kotlin.Function1((pl.treksoft.kvision.remote.Profile, pl.treksoft.kvision.remote.asyncAuth.RESP)))"></a>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RESP</span><span class="symbol">&gt;</span> <span class="identifier">asyncAuth</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$asyncAuth(kotlin.Function1((pl.treksoft.kvision.remote.Profile, pl.treksoft.kvision.remote.asyncAuth.RESP)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="-profile/index.html"><span class="identifier">Profile</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="async-auth.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="async-auth.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">&gt;</span></code>
+<p>A helper extension function for asynchronous processing with user profile.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/async-session.html b/api/kvision/pl.treksoft.kvision.remote/async-session.html
new file mode 100644
index 00000000..a8783f62
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/async-session.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>asyncSession - kvision</title>
+<link rel="stylesheet" href="../../style.css">
+</HEAD>
+<BODY>
+<a href="../index.html">kvision</a>&nbsp;/&nbsp;<a href="index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./async-session.html">asyncSession</a><br/>
+<br/>
+<h1>asyncSession</h1>
+<a name="pl.treksoft.kvision.remote$asyncSession(pl.treksoft.kvision.remote.Request, kotlin.Function2((pl.treksoft.kvision.remote.Request, , pl.treksoft.kvision.remote.asyncSession.RESP)))"></a>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RESP</span><span class="symbol">&gt;</span> <a href="-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">.</span><span class="identifier">asyncSession</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$asyncSession(pl.treksoft.kvision.remote.Request, kotlin.Function2((pl.treksoft.kvision.remote.Request, , pl.treksoft.kvision.remote.asyncSession.RESP)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="-request.html"><span class="identifier">Request</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="async-session.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="async-session.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">&gt;</span></code>
+<p>A helper extension function for asynchronous request processing with session.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/async.html b/api/kvision/pl.treksoft.kvision.remote/async.html
new file mode 100644
index 00000000..5a8e3843
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/async.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>async - kvision</title>
+<link rel="stylesheet" href="../../style.css">
+</HEAD>
+<BODY>
+<a href="../index.html">kvision</a>&nbsp;/&nbsp;<a href="index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./async.html">async</a><br/>
+<br/>
+<h1>async</h1>
+<a name="pl.treksoft.kvision.remote$async(pl.treksoft.kvision.remote.Request, kotlin.Function1((pl.treksoft.kvision.remote.Request, pl.treksoft.kvision.remote.async.RESP)))"></a>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RESP</span><span class="symbol">&gt;</span> <a href="-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">.</span><span class="identifier">async</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$async(pl.treksoft.kvision.remote.Request, kotlin.Function1((pl.treksoft.kvision.remote.Request, pl.treksoft.kvision.remote.async.RESP)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="-request.html"><span class="identifier">Request</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="async.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="async.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">&gt;</span></code>
+<p>A helper extension function for asynchronous request processing.</p>
+<a name="pl.treksoft.kvision.remote$async(kotlin.Function0((pl.treksoft.kvision.remote.async.RESP)))"></a>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RESP</span><span class="symbol">&gt;</span> <span class="identifier">async</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$async(kotlin.Function0((pl.treksoft.kvision.remote.async.RESP)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="async.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="async.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">&gt;</span></code>
+<p>A helper extension function for asynchronous processing.</p>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/index.html b/api/kvision/pl.treksoft.kvision.remote/index.html
new file mode 100644
index 00000000..1917d011
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/index.html
@@ -0,0 +1,267 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>pl.treksoft.kvision.remote - kvision</title>
+<link rel="stylesheet" href="../../style.css">
+</HEAD>
+<BODY>
+<a href="../index.html">kvision</a>&nbsp;/&nbsp;<a href="./index.html">pl.treksoft.kvision.remote</a><br/>
+<br/>
+<h2>Package pl.treksoft.kvision.remote</h2>
+<p>A set of components for creating multiplatform automatic JSON-RPC connectivity with a backend server.</p>
+<h3>Types</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-call-agent/index.html">CallAgent</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">CallAgent</span></code>
+<p>An agent responsible for remote calls.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-credentials/index.html">Credentials</a></p>
+</td>
+<td>
+<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">Credentials</span></code>
+<p>Username and password credentials.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-http-method/index.html">HttpMethod</a></p>
+</td>
+<td>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">HttpMethod</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-jooby-remote-agent/index.html">JoobyRemoteAgent</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">JoobyRemoteAgent</span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-remote-agent.html"><span class="identifier">RemoteAgent</span></a></code>
+<p>Client side agent for JSON-RPC remote calls with Jooby.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-jooby-service-manager/index.html">JoobyServiceManager</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">expect</span> <span class="keyword">class </span><span class="identifier">JoobyServiceManager</span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-service-manager/index.html"><span class="identifier">ServiceManager</span></a></code>
+<p>Multiplatform service manager for Jooby.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-json-rpc-request/index.html">JsonRpcRequest</a></p>
+</td>
+<td>
+<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">JsonRpcRequest</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-json-rpc-response/index.html">JsonRpcResponse</a></p>
+</td>
+<td>
+<code><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">JsonRpcResponse</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-k-v-controller/index.html">KVController</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">KVController</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-k-v-server/index.html">KVServer</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">expect</span> <span class="keyword">class </span><span class="identifier">KVServer</span></code>
+<p>A server.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-login-service/index.html">LoginService</a></p>
+</td>
+<td>
+<code><span class="keyword">class </span><span class="identifier">LoginService</span></code>
+<p>Pac4j form login dispatcher.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-profile/index.html">Profile</a></p>
+</td>
+<td>
+<code><span class="keyword">expect</span> <span class="keyword">class </span><span class="identifier">Profile</span></code>
+<p>A user profile.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-remote-agent.html">RemoteAgent</a></p>
+</td>
+<td>
+<code><span class="keyword">interface </span><span class="identifier">RemoteAgent</span></code>
+<p>Interface for client side agent for JSON-RPC remote calls.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-request.html">Request</a></p>
+</td>
+<td>
+<code><span class="keyword">expect</span> <span class="keyword">interface </span><span class="identifier">Request</span></code>
+<p>A server request.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-rpc-http-method/index.html">RpcHttpMethod</a></p>
+</td>
+<td>
+<code><span class="keyword">enum</span> <span class="keyword">class </span><span class="identifier">RpcHttpMethod</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-security-mgr/index.html">SecurityMgr</a></p>
+</td>
+<td>
+<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">SecurityMgr</span></code>
+<p>Pac4j form login dispatcher.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-service-manager/index.html">ServiceManager</a></p>
+</td>
+<td>
+<code><span class="keyword">interface </span><span class="identifier">ServiceManager</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-spring-context/index.html">SpringContext</a></p>
+</td>
+<td>
+<code><span class="keyword">class </span><span class="identifier">SpringContext</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="-spring-remote-agent/index.html">SpringRemoteAgent</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">SpringRemoteAgent</span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-remote-agent.html"><span class="identifier">RemoteAgent</span></a></code>
+<p>Client side agent for JSON-RPC remote calls with Spring Boot.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-spring-service-manager/index.html">SpringServiceManager</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">expect</span> <span class="keyword">class </span><span class="identifier">SpringServiceManager</span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-service-manager/index.html"><span class="identifier">ServiceManager</span></a></code>
+<p>Multiplatform service manager for Spring Boot.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Exceptions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-security-exception/index.html">SecurityException</a></p>
+</td>
+<td>
+<code><span class="keyword">class </span><span class="identifier">SecurityException</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-exception/index.html"><span class="identifier">Exception</span></a></code>
+<p>A security exception.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Type Aliases</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-profile/index.html">Profile</a></p>
+</td>
+<td>
+<code><span class="keyword">actual</span> <span class="keyword">typealias </span><span class="identifier">Profile</span>&nbsp;<span class="symbol">=</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span></code>
+<p>A user profile.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-h-t-t-p_-u-n-a-u-t-h-o-r-i-z-e-d.html">HTTP_UNAUTHORIZED</a></p>
+</td>
+<td>
+<code><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">HTTP_UNAUTHORIZED</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code>
+<p>HTTP status unauthorized (401).</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="add-path-patterns-from-services.html">addPathPatternsFromServices</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">addPathPatternsFromServices</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$addPathPatternsFromServices(, kotlin.collections.List((pl.treksoft.kvision.remote.SpringServiceManager((kotlin.Any)))))/services">services</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="-spring-service-manager/index.html"><span class="identifier">SpringServiceManager</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="async.html">async</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RESP</span><span class="symbol">&gt;</span> <a href="-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">.</span><span class="identifier">async</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$async(pl.treksoft.kvision.remote.Request, kotlin.Function1((pl.treksoft.kvision.remote.Request, pl.treksoft.kvision.remote.async.RESP)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="-request.html"><span class="identifier">Request</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="async.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="async.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">&gt;</span></code>
+<p>A helper extension function for asynchronous request processing.</p>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RESP</span><span class="symbol">&gt;</span> <span class="identifier">async</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$async(kotlin.Function0((pl.treksoft.kvision.remote.async.RESP)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="async.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="async.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">&gt;</span></code>
+<p>A helper extension function for asynchronous processing.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="async-auth.html">asyncAuth</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RESP</span><span class="symbol">&gt;</span> <a href="-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">.</span><span class="identifier">asyncAuth</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$asyncAuth(pl.treksoft.kvision.remote.Request, kotlin.Function3((pl.treksoft.kvision.remote.Request, , pl.treksoft.kvision.remote.Profile, pl.treksoft.kvision.remote.asyncAuth.RESP)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="-request.html"><span class="identifier">Request</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<a href="-profile/index.html"><span class="identifier">Profile</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="async-auth.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="async-auth.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">&gt;</span></code>
+<p>A helper extension function for asynchronous request processing with session and user profile.</p>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RESP</span><span class="symbol">&gt;</span> <span class="identifier">asyncAuth</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$asyncAuth(kotlin.Function1((pl.treksoft.kvision.remote.Profile, pl.treksoft.kvision.remote.asyncAuth.RESP)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="-profile/index.html"><span class="identifier">Profile</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="async-auth.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="async-auth.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">&gt;</span></code>
+<p>A helper extension function for asynchronous processing with user profile.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="async-session.html">asyncSession</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RESP</span><span class="symbol">&gt;</span> <a href="-request.html"><span class="identifier">Request</span></a><span class="symbol">?</span><span class="symbol">.</span><span class="identifier">asyncSession</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$asyncSession(pl.treksoft.kvision.remote.Request, kotlin.Function2((pl.treksoft.kvision.remote.Request, , pl.treksoft.kvision.remote.asyncSession.RESP)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="-request.html"><span class="identifier">Request</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="async-session.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Deferred</span><span class="symbol">&lt;</span><a href="async-session.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">&gt;</span></code>
+<p>A helper extension function for asynchronous request processing with session.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="write-j-s-o-n.html">writeJSON</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">writeJSON</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$writeJSON(, kotlin.String)/json">json</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/kvision/pl.treksoft.kvision.remote/write-j-s-o-n.html b/api/kvision/pl.treksoft.kvision.remote/write-j-s-o-n.html
new file mode 100644
index 00000000..dc373db0
--- /dev/null
+++ b/api/kvision/pl.treksoft.kvision.remote/write-j-s-o-n.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>writeJSON - kvision</title>
+<link rel="stylesheet" href="../../style.css">
+</HEAD>
+<BODY>
+<a href="../index.html">kvision</a>&nbsp;/&nbsp;<a href="index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./write-j-s-o-n.html">writeJSON</a><br/>
+<br/>
+<h1>writeJSON</h1>
+<a name="pl.treksoft.kvision.remote$writeJSON(, kotlin.String)"></a>
+<code><span class="keyword">fun </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">writeJSON</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$writeJSON(, kotlin.String)/json">json</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+</BODY>
+</HTML>