@blueforge-studio/worldforge-sdk

WorldForge Studio SDK — typed REST client, offline world tools, realtime (SSE + realm) and MCP wrappers for the GAS world API

Informations sur le paquet

Latest Version0.1.0
LicenseUNLICENSED
Keywords-
Repository-
Author-
Homepage-
Bugs-

Versions

VersionPubliée
0.1.02026-09-26

Chaîne d'approvisionnement par version

VersionSigSBOMAtt
0.1.0

Cliquez sur une version pour voir ses détails.

Chaîne d'approvisionnement

Rien n'est enregistré pour 0.1.0. Les versions publiées avant que le registre n'écrive la provenance n'en ont pas, et les signatures et SBOM sont joints par l'éditeur.

Dépendances

Chargement du graphe de dépendances...

README

@blueforge-studio/worldforge-sdk

TypeScript/ESM SDK for the WorldForge Studio API: a typed REST client, offline world-document tools, realtime (SSE + realm WebSocket) and an MCP client.

Proprietary — see LICENSE (the repo's terms; this is not open source). Published to the BlueForge registry (packr).

Install

# one-time scope mapping (anonymous reads are allowed)
echo '@blueforge-studio:registry=https://api.packr.blueforge.studio' >> ~/.npmrc

pnpm add @blueforge-studio/worldforge-sdk

Four entrypoints

ImportWhat
@blueforge-studio/worldforge-sdkcreateClient — typed REST resources (worlds, atlas, regions, wiki, packs, proposals, print-shops, collab), WorldForgeApiError, raw escape hatch
…/offlineWorld-document tools: safeParseWorld, runMigrations, lore CRUD, calendar helpers, WORLD_SCHEMA_VERSION
…/realtimeSSE live view (openWorldStream / watchWorld) and the realm Yjs WebSocket (openRealmProvider, readRoot)
…/mcpcreateMcpClient over the server's /mcp streamable-HTTP endpoint

30-second example

import { createClient } from '@blueforge-studio/worldforge-sdk';
import { safeParseWorld, runMigrations } from '@blueforge-studio/worldforge-sdk/offline';

const client = createClient({ baseUrl: 'https://api.worldforge.blueforge.studio', apiKey: process.env.WORLDFORGE_API_KEY! });

const worlds = await client.worlds.list();
const detail = await client.worlds.get(worlds[0]!.id);
const parsed = safeParseWorld(detail.json);
if (parsed.ok) console.log(runMigrations(parsed.data).world.schemaVersion);

Guides

Full guides live in the repo's docs/sdk/ (and on the site under /docs/sdk): quickstart, authentication (keys vs JWTs, scope table, API-key limits), resources, offline tools, realtime, MCP, and troubleshooting/versioning.

Support

Issues and the API reference: blueforge-studio/world-map-editor on forge-git. The server's route reference is docs/api/ in the same repo.