@blocklet/meta はBlockletエコシステム内の基礎ライブラリであり、Blockletメタデータを管理するための決定的なツールキットとして機能します。これは blocklet.yml マニフェストファイルの正式な仕様を確立し、このメタデータをプログラムで解析、検証、修正、および操作するための包括的なユーティリティ関数スイートを提供します。
このライブラリの中核は、すべてのBlockletが一貫性があり、信頼性が高く、機械可読な方法で記述されることを保証することです。この標準化が、アプリケーションを実行するBlocklet Serverから、その構築を支援する開発者ツールまで、Blockletエコシステム全体を支えています。

このドキュメントは、ライブラリ自体の二重の目的を反映して、2つの主要な部分に分かれています。
Blocklet仕様: blocklet.yml
blocklet.ymlファイルは、Blockletの設計図です。これは、アプリケーションのあらゆる側面を定義する宣言的なマニフェストです。@blocklet/metaライブラリには、このファイルを検証する正式なスキーマが含まれており、Blockletプラットフォームがアプリケーションを正しくインストール、設定、実行、および管理できるようにします。定義できる主な側面は次のとおりです。
- コアアイデンティティ:
name、version、およびBlocklet固有の分散型ID (did)。 - プレゼンテーション:
title、description、logo、およびアプリストアで表示するためのスクリーンショット。 - 実行環境: ランタイム
engine(例:Node.js)、ライフサイクルscripts(pre-startなど)、および必要なenvironments変数。 - ネットワークとサービス: 公開されるWeb
interfaces、内部サービス、および必要なポート。 - 構成:
componentsとして含める他のBlockletのリスト。これにより、モジュラーアプリケーション設計が可能になります。 - ユーザーインターフェース: ダッシュボードと統合するための
navigationリンク、および視覚的な一貫性のためのtheme設定。 - 収益化: 価格設定と収益分配のための
payment詳細。 - セキュリティ: メタデータの完全性と作者性を検証するための暗号
signatures。
ユーティリティツールキット: プログラムによるアクセス
仕様を定義するだけでなく、@blocklet/metaは、開発者がBlockletのメタデータと状態を扱うための豊富なJavaScript/TypeScript関数のセットを提供します。このツールキットは、Blockletエコシステムと対話するカスタムツール、プラグイン、または複雑なアプリケーションを構築するために不可欠です。
ユーティリティは、いくつかの主要なカテゴリに分類できます。
- 解析と検証:
parseやvalidateMetaなどの関数を使用すると、ディスクからblocklet.ymlファイルを読み取り、その内容を公式スキーマに対して検証できます。 - メタデータヘルパー: 一般的なフォーマットの問題を自動的に修正したり、personオブジェクトをフォーマットしたり、リポジトリURLを解決したりするための関数のコレクション。
- コンポーネントと状態のユーティリティ: 実行中のBlockletとそのコンポーネントの状態を走査するための強力なヘルパーセット(
forEachBlocklet、findComponent、getAppUrlなど)。これは、管理ダッシュボードや動的アプリケーションを構築するために非常に重要です。 - DIDとウォレットのユーティリティ:
toBlockletDidやgetBlockletWalletなど、Blockletに関連付けられた分散型識別子(DID)と暗号ウォレットを処理するための関数。 - セキュリティ:
signResponseやverifyResponseなどのツールを使用して、データの署名と検証を行い、完全性と信頼性を確保します。