このセクションでは、@blocklet/js-sdk によってエクスポートされるコア TypeScript の型とインターフェースの詳細なリファレンスを提供します。プロジェクトでこれらの型を使用すると、TypeScript の静的分析と自動補完を活用して、より良い開発体験を得ることができます。
コア Blocklet 型
これらの型は、Blocklet アプリケーションとそのコンポーネントの基本構造を定義します。
Blocklet
Blocklet の完全なメタデータと構成を表します。このオブジェクトは通常、アプリケーションが Blocklet Server 環境内で実行されている場合、window.blocklet としてグローバルに利用できます。
- did
string(required) — Blocklet の分散型識別子 (DID)。 - appId
string(required) — アプリケーション ID。これはメインコンポーネントの DID でもあります。 - appPk
string(required) — アプリケーションに関連付けられた公開鍵。 - appIds
string[]— 関連付けられたアプリケーション ID のリスト。Federated Login Group で使用されます。 - appPid
string(required) — アプリケーションのプロセス ID。 - appName
string(required) — 人間が読める形式のアプリケーション名。 - appDescription
string(required) — アプリケーションの簡単な説明。 - appLogo
string(required) — アプリケーションのロゴ (正方形) への URL。 - appLogoRect
string(required) — アプリケーションのロゴ (長方形) への URL。 - appUrl
string(required) — アプリケーションがホストされているプライマリ URL。 - domainAliases
string[]— アプリケーションの代替ドメイン名。 - isComponent
boolean(required) — Blocklet が別の Blocklet のコンポーネントであるかどうかを示します。 - prefix
string(required) — Blocklet のルートの URL プレフィックス。 - groupPrefix
string(required) — Federated Login Group の URL プレフィックス。 - pageGroup
string(required) — このページが属するグループ。 - version
string(required) — Blocklet のバージョン。 - mode
string(required) — Blocklet の実行モード (例: 'development'、'production')。 - tenantMode
'single' | 'multiple'(required) — Blocklet のテナンシーモード。 - theme
BlockletTheme(required) — Blocklet のテーマ構成。 - navigation
BlockletNavigation[](required) — Blocklet の UI のナビゲーション項目の配列。 - preferences
Record<string, any>(required) — ユーザーが設定可能な設定。 - languages
{ code: string; name: string }[](required) — サポートされている言語のリスト。 - passportColor
string(required) — DID ウォレットパスポートで使用されるプライマリカラー。 - componentMountPoints
BlockletComponent[](required) — この Blocklet によってマウントされた子コンポーネントのリスト。 - alsoKnownAs
string[](required) — 代替識別子のリスト。 - trustedFactories
string[](required) — 信頼できるファクトリ DID のリスト。 - status
string(required) — Blocklet の現在の実行ステータス。 - serverDid
string(required) — Blocklet Server インスタンスの DID。 - serverVersion
string(required) — Blocklet Server のバージョン。 - componentId
string(required) — コンポーネントの ID。 - webWalletUrl
string(required) — Web ベースの DID ウォレットの URL。 - updatedAt
number(required) — 最終更新のタイムスタンプ。 - settings
BlockletSettings(required) — Blocklet の詳細設定。
BlockletSettings
セッション管理、Federated Login Group の構成、OAuth プロバイダーの詳細など、Blocklet のさまざまな設定が含まれています。
- session
object(required) — セッション構成。- ttl
number(required) — セッションの有効期間 (秒)。 - cacheTtl
number(required) — キャッシュの有効期間 (秒)。
- ttl
- federated
object(required) — Federated Login Group の構成。- master
object(required) — グループ内のマスターアプリケーションに関する情報。- appId
string(required) — マスターアプリケーション ID。 - appPid
string(required) — マスターアプリケーションのプロセス ID。 - appName
string(required) — マスターアプリケーション名。 - appDescription
string(required) — マスターアプリケーションの説明。 - appUrl
string(required) — マスターアプリケーションの URL。 - appLogo
string(required) — マスターアプリケーションのロゴ URL。 - version
string(required) — マスターアプリケーションのバージョン。
- appId
- config
Record<string, any>(required) — フェデレーテッドグループの追加構成。
- master
- oauth
Record<string, { enabled: boolean; [x: string]: any }>(required) — OAuth プロバイダー構成。プロバイダー名でキー付けされています。
BlockletComponent
親 Blocklet 内にマウントされるコンポーネントを記述します。TComponentInternalInfo からプロパティを継承します。
- status
keyof typeof BlockletStatus(required) — コンポーネントの実行ステータス (例: 'running'、'stopped')。
ユーザーと認証の型
これらの型は、AuthService がユーザープロファイル、設定、および認証関連のデータを管理するために使用します。
UserPublicInfo
ユーザーの基本的な公開プロファイル情報を表します。
- avatar
string(required) — ユーザーのアバター画像の URL。 - did
string(required) — ユーザーの分散型識別子 (DID)。 - fullName
string(required) — ユーザーのフルネーム。 - sourceAppPid
string | null(required) — 該当する場合、ユーザーが由来するアプリケーションのプロセス ID。
NotificationConfig
Webhook の構成や通知チャネルなど、ユーザーの通知設定を定義します。
- webhooks
Webhook[]— 設定済みの Webhook の配列。 - notifications
object— チャネル固有の通知設定。- email
boolean— メール通知を有効または無効にします。 - wallet
boolean— DID ウォレット通知を有効または無効にします。 - phone
boolean— 電話通知を有効または無効にします。
- email
Webhook
単一の Webhook 構成の構造を定義します。
- type
'slack' | 'api'(required) — Webhook エンドポイントのタイプ。 - url
string(required) — Webhook 通知が送信される URL。
PrivacyConfig
ユーザーのプライバシー設定を表すオブジェクト。キーは特定のプライバシーオプションに対応します。
- [key]
boolean(required) — プライバシー設定を表す動的キー。ブール値で有効かどうかを示します。
SpaceGateway
DID Space ゲートウェイのプロパティを定義します。
- did
string(required) — スペースゲートウェイの DID。 - name
string(required) — スペースゲートウェイの名前。 - url
string(required) — スペースゲートウェイの公開 URL。 - endpoint
string(required) — スペースゲートウェイの API エンドポイント。
セッション管理の型
これらの型は、UserSessionService が異なるデバイスやアプリケーション間でユーザーのログインセッションを管理するために使用します。
UserSession
デバイス、アプリケーション、およびユーザーに関する詳細を含む、単一のユーザーログインセッションを表します。
- appName
string(required) — セッションのアプリケーション名。 - appPid
string(required) — セッションのアプリケーションのプロセス ID。 - extra
object(required) — セッションに関する追加のメタデータ。- walletOS
'android' | 'ios' | 'web'(required) — ログインに使用されたウォレットのオペレーティングシステム。
- walletOS
- id
string(required) — セッションの一意の識別子。 - lastLoginIp
string(required) — 最後のログインの IP アドレス。 - passportId
string | null(required) — ログインに使用されたパスポートの ID。 - ua
string(required) — クライアントの User-Agent 文字列。 - createdAt
string— セッションが作成されたときの ISO 文字列のタイムスタンプ。 - updatedAt
string(required) — 最後のセッションアクティビティの ISO 文字列のタイムスタンプ。 - status
string— セッションの現在のステータス (例: 'online'、'expired')。 - user
UserSessionUser— セッションに関連付けられたユーザーの詳細情報。 - userDid
string(required) — ユーザーの DID。 - visitorId
string(required) — デバイス/ブラウザの一意の識別子。
UserSessionUser
UserSession に関連付けられた詳細なユーザー情報が含まれています。
- avatar
string(required) — ユーザーのアバター画像の URL。 - did
string(required) — ユーザーの分散型識別子 (DID)。 - email
string(required) — ユーザーのメールアドレス。 - fullName
string(required) — ユーザーのフルネーム。 - pk
string(required) — ユーザーの公開鍵。 - remark
string— ユーザーに関するオプションの備考またはメモ。 - role
string(required) — ユーザーの役割 (例: 'owner'、'admin')。 - roleTitle
string(required) — ユーザーの役割の表示タイトル。 - sourceAppPid
string | null(required) — ユーザーが由来するアプリケーションのプロセス ID。 - sourceProvider
'wallet' | 'auth0' | 'nft'(required) — 認証に使用された元のプロバイダー。
UserSessionList
ユーザーセッションのリストに対するページ分割されたレスポンスオブジェクト。
- list
UserSession[](required) — ユーザーセッションオブジェクトの配列。 - paging
object(required) — ページネーション情報。- page
number(required) — 現在のページ番号。 - pageSize
number(required) — 1 ページあたりの項目数。 - total
number(required) — 利用可能なセッションの総数。
- page
グローバルと環境の型
これらの型は、グローバルに利用可能なオブジェクトとサーバー環境の構成を定義します。
ServerEnv
サーバー側の環境変数を表し、しばしば window.env としてクライアント側に公開されます。
- appId
string(required) — アプリケーション ID。 - appPid
string(required) — アプリケーションのプロセス ID。 - appName
string(required) — アプリケーション名。 - appDescription
string(required) — アプリケーションの説明。 - apiPrefix
string(required) — バックエンド API ルートのプレフィックス。 - baseUrl
string(required) — アプリケーションのベース URL。
グローバル Window 宣言
SDK は、ブラウザ環境で実行される際に、window オブジェクトに特定のグローバル変数が存在することに依存しています。
TypeScript Definition
declare global {
interface Window {
blocklet: Blocklet;
env?: ServerEnv;
}
}ユーティリティ型
API リクエストとトークン管理に使用されるヘルパー型。
TokenResult
トークン更新操作の成功結果を表します。
- nextToken
string(required) — 新しいセッショントークン。 - nextRefreshToken
string(required) — 新しいリフレッシュトークン。
RequestParams
SDK の API ヘルパーでリクエストを行う際に使用できる共通のパラメータを定義します。
- lazy
boolean— true の場合、リクエストはデバウンスまたは遅延されることがあります。 - lazyTime
number— 遅延リクエストの遅延時間 (ミリ秒)。 - componentDid
string— リクエストの対象となるコンポーネントの DID。