@sh1n4ps/plasma-server
@sh1n4ps/plasma-server は Cloudflare Workers のランタイムです。
@sh1n4ps/plasma-core と同じクエリ AST を SQLite / Postgres の各方言に
コンパイルし、push / pull / blob エンドポイントを処理し、リアルタイムパスに
必要な Durable Objects を提供します。
- Sync handler —
createSyncHandler(options),SyncHandlerOptions,SyncServerError - DDL —
ensureSchema,runMigrations,MigrationRefused,SchemaDiff - Executor —
SqlExecutorインターフェース,fromBetterSqlite3,fromD1 - サーバ側 db —
createServerDb,ServerDbOptions,AuthorizePolicy,PlasmaAuthorizationError - SQL 方言 —
sqliteDialect,postgresDialect,SqlDialect - リアルタイム —
SyncCoordinator(Durable Object の export) - ストレージ —
r2Storage,Storageインターフェース,StorageObjectMeta - GC —
gcOrphanedBlobs,reconcileBlobRefs - Change log ヘルパー —
CHANGES_TABLE,compactChangeLog,CompactionResult - マルチリージョン —
SequencerDO,MemorySequencerStorage,SequencerStorage,SequencerState,ReserveResult,SequencerDoSimulator,advanceCookieFromChanges,pullPredicate,REGION_VERSIONS_TABLE,reserveRegionVersions,ensureRegionVersionsTable
createSyncHandler({ schema, mutators, executor, auth, ... })—Requestハンドラをラップします。/sync/*にマウントします。fromD1(env.DB)— D1 executor を生成します。createSyncHandlerと組み合わせて使います。fromBetterSqlite3(sqlite)— テストや管理スクリプト向けの SQLite executor を生成します。r2Storage({ bucket })— R2 ストレージアダプタです。createSyncHandlerのオプションでblobs.defaultとして渡します。SyncCoordinator— hibernation 対応の WebSocket poke ファンアウトを 有効にするために、Worker から export します。
全 symbol インデックス
Section titled “全 symbol インデックス”reference/generated/plasma-server/src 配下にあります。
次に読むページ
Section titled “次に読むページ”- Quick Start — 最初の Worker
- デプロイ (Guide) — wrangler.jsonc + D1 + R2 の配線
- 認証と権限 (Guide) —
SyncHandlerOptions.authの書き方 - マルチリージョン (Guide) — SequencerDO と causal cookie