コンテンツにスキップ

@sh1n4ps/plasma-server

@sh1n4ps/plasma-server は Cloudflare Workers のランタイムです。 @sh1n4ps/plasma-core と同じクエリ AST を SQLite / Postgres の各方言に コンパイルし、push / pull / blob エンドポイントを処理し、リアルタイムパスに 必要な Durable Objects を提供します。

  • Sync handlercreateSyncHandler(options), SyncHandlerOptions, SyncServerError
  • DDLensureSchema, runMigrations, MigrationRefused, SchemaDiff
  • ExecutorSqlExecutor インターフェース, fromBetterSqlite3, fromD1
  • サーバ側 dbcreateServerDb, ServerDbOptions, AuthorizePolicy, PlasmaAuthorizationError
  • SQL 方言sqliteDialect, postgresDialect, SqlDialect
  • リアルタイムSyncCoordinator (Durable Object の export)
  • ストレージr2Storage, Storage インターフェース, StorageObjectMeta
  • GCgcOrphanedBlobs, 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 します。

reference/generated/plasma-server/src 配下にあります。