← Complete SDK reference

Browser

Current game and community links

@silicon-jungle/inkwell-sdk/game

Read public metadata for the game running in this player frame.

Exact source · npm package · Reference version 0.0.8

API at a glance

  • game.get(): Promise<GameInfo>
  • get(): Promise<GameInfo>

Returns slug, title, websiteUrl and discordUrl. Unset links are null. No cross-game selector, creator credentials or private metadata is exposed.

Requires a supported Inkwell player frame; unavailable host requests reject.

Examples, policies and operational limits →

All exported symbols

  • GameInfo
  • game
  • get

Exact TypeScript API

Generated from the SDK source, including input options, return values, public types and overloads. Relative imports below are links between SDK source modules, not additional package subpaths. Only the entrypoints listed in the reference index are supported import paths.

export type GameInfo = {
    slug: string;
    title: string;
    websiteUrl: string | null;
    discordUrl: string | null;
};
/** Read the current game's public links and identity from the trusted host. */
export declare function get(): Promise<GameInfo>;
export declare const game: Readonly<{
    get: typeof get;
}>;
Supporting internal type declarations

These clarify types referenced by the generated signatures; do not import these internal paths directly.

game-services.d.ts

export declare class GameServiceError extends Error {
    readonly status: number;
    readonly code: string;
    constructor(message: string, status?: number, code?: string);
}
export type GameServiceRequest = <T>(service: string, request: Record<string, unknown>) => Promise<T>;
export declare const requestGameService: GameServiceRequest;
/** Server-only adapter. Credentials must never be bundled into browser games. */
export declare function createGameServiceRequest(options: {
    baseUrl: string;
    token: string;
    fetch?: typeof fetch;
}): GameServiceRequest;

protocol.d.ts

export declare const SDK_SOURCE: "inkwell-sdk";
export declare const SDK_VERSION: 1;
export type InkwellMessageType = "ready" | "loading.progress" | "loading.error" | "session.complete" | "analytics.track" | "assets.progress" | "player.get" | "presence.get" | "performance.sample" | "backend.connect" | "backend.fetch";
export type InkwellMessage = {
    source: typeof SDK_SOURCE;
    version: typeof SDK_VERSION;
    type: InkwellMessageType;
    payload?: Record<string, unknown>;
    sentAt: number;
};
export declare function parentOrigin(): string | null;
export declare function requestId(): string;
export declare function emit(type: InkwellMessageType, payload?: Record<string, unknown>): boolean;