メインコンテンツへスキップ

このセクションでは、@blocklet/js-sdk によってエクスポートされるコア TypeScript の型とインターフェースの詳細なリファレンスを提供します。プロジェクトでこれらの型を使用すると、TypeScript の静的分析と自動補完を活用して、より良い開発体験を得ることができます。

このセクションでは、@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) — キャッシュの有効期間 (秒)。
  • 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) — マスターアプリケーションのバージョン。
    • config Record<string, any> (required) — フェデレーテッドグループの追加構成。
  • 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 — 電話通知を有効または無効にします。

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) — ログインに使用されたウォレットのオペレーティングシステム。
  • 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) — 利用可能なセッションの総数。

グローバルと環境の型

これらの型は、グローバルに利用可能なオブジェクトとサーバー環境の構成を定義します。

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

typescript
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。