← Complete SDK reference

Browser

Current public profile

@silicon-jungle/inkwell-sdk/player

Read a minimal public profile through the authenticated player frame.

Exact source · npm package · Reference version 0.0.8

API at a glance

  • player.get(): Promise<Player>
  • get(): Promise<Player>

Returns displayName (the public username for signed-in players), avatarUrl and isGuest. It exposes no email, global account ID, authentication cookie or session token.

Outside the Inkwell frame, or if the parent does not answer within five seconds, it returns the Guest fallback. Use the backend-supplied identity for authorization, never a profile object supplied by a client.

All exported symbols

  • Player
  • get
  • player

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 Player = {
    displayName: string;
    avatarUrl: string | null;
    isGuest: boolean;
};
/** Returns the safe public identity supplied by the trusted Inkwell player. */
export declare function get(): Promise<Player>;
export declare const player: 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;