Kino.Workspace (Kino v0.19.0)

Copy Markdown View Source

Functions related to workspace integrations and Livebook apps.

Summary

Functions

Returns information about the running app.

Returns user information for the given connected client id.

Types

app_info()

@type app_info() ::
  %{type: :single}
  | %{type: :none}
  | %{
      :type => :multi_session,
      optional(:started_by) => user_info(),
      optional(:session_params) => map()
    }

user_info()

@type user_info() :: %{
  id: String.t(),
  name: String.t() | nil,
  email: String.t() | nil,
  source: atom(),
  payload: map() | nil
}

Functions

app_info()

@spec app_info() :: app_info()

Returns information about the running app.

Note that :started_by information is only available for multi-session apps when the app uses a Livebook Teams workspace.

Multi-session apps can be started with lb_* query parameters. Those parameters are available in :session_params map.

Unless called from within an app deployment, returns %{type: :none}.

user_info(client_id)

@spec user_info(String.t()) ::
  {:ok, user_info()} | {:error, :not_found | :not_available}

Returns user information for the given connected client id.

Note that this information is only available when the session uses Livebook Teams workspace, otherwise :not_available error is returned.

If there is no such connected client, :not_found error is returned.