本文へ移動
SDK ガイド / はじめる

はじめる

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 に渡します。