← Complete SDK reference

Browser

Player feedback form

@silicon-jungle/inkwell-sdk/feedback

Open the platform feedback form from a game button.

Exact source · npm package · Reference version 0.0.8

API at a glance

  • feedback.open(): Promise<{ opened: true }>
  • open(): Promise<{ opened: true }>

Resolves when the form is opened, not when feedback is submitted. Guests see a sign-in prompt. The player controls submission.

Game code cannot read the creator inbox or send feedback for a player. Requires a supported Inkwell player frame.

Examples, policies and operational limits →

All exported symbols

  • feedback
  • open

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.

/** Open the host's feedback form. The player signs in and submits it themselves.
 * Resolves when opened, not when feedback is submitted. No feedback text or
 * creator inbox data is exposed to the game. Call from a player interaction.
 */
export declare function open(): Promise<{
    opened: true;
}>;
export declare const feedback: Readonly<{
    open: typeof open;
}>;
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;