はじめる
SDK を導入し、ローカルの World を作成します。
SDK の導入
現在の SDK は npm 未公開です。Node.js 22.18 以降で、リポジトリのルートからビルドします。
ターミナル
npm install
npm run build -w @tablebox/protocol
npm run build -w @tablebox/sdkリポジトリ内のアプリで @tablebox/sdk を依存に追加して使います。以下はブラウザー向けの TypeScript 例です。
World を作る
World は共有データの単位、Scene はその中の座標空間です。まずは接続なしで会話を保存し、変更を購読します。
TypeScript
import { Identity, World } from "@tablebox/sdk";
const identity = await Identity.generate();
const world = await World.create({ identity, name: "My world" });
const { rootScope } = world.read();
const stop = world.watch({ from: "messages", scope: rootScope }, (page) => {
console.log(page.items); // 初回と変更時に通知
});
await world.chat.send("Hello, Tablebox", { scope: rootScope });
// 終了時は stop() で購読解除し、world.close() でモデルを閉じるwatch は現在のデータと変更を通知します。取得だけなら read、削除には world.chat.remove を使います。この例はメモリー上だけに保存します。永続化は「保存と終了」を参照してください。続きを取得するには page.next をクエリの cursor に渡します。