export declare const RUNTIME_CONTRACT_DIGEST: "sha256:774e64f70ee1c9a6438e5403ed518fb1c991a29eacd2c5a66ccabe75c01b6728"; export declare const HELIX_RUNTIME_CONTRACT: { readonly $schema: "./runtime-contract.schema.json"; readonly authorityProfiles: { readonly client: { readonly description: "A player runtime launched by the HELIX shell. Platform credentials remain in the shell."; readonly trust: "untrusted_player"; }; readonly listen: { readonly description: "A player-owned host. It never receives managed workload authority."; readonly trust: "untrusted_player_host"; }; readonly managed_server: { readonly description: "A HELIX-managed workload with short-lived World, Build, and Instance-bound authority."; readonly trust: "trusted_allocation_workload"; }; readonly preview: { readonly description: "Local creator preview. Mutating platform calls may simulate or report unavailable."; readonly trust: "untrusted_preview"; }; }; readonly availabilityMeanings: { readonly available: "Implemented on the declared transport and safe to bind."; readonly conditional: "Implemented only on the named transport or profile; bindings must expose capability discovery."; readonly correction_required: "Implementation exists but its current authority or result semantics must be corrected before cross-runtime parity."; readonly unavailable: "Public name exists but the audited implementation does not perform the promised operation."; }; readonly capabilities: { readonly "auth.profile": { readonly description: "Read the current world-session profile."; readonly status: "enforced"; }; readonly "camera.capture": { readonly description: "Save a world-captured image to the player's album."; readonly status: "enforced"; }; readonly "camera.control": { readonly description: "Let a WORLD SCRIPT drive the player's native camera (mode, lens, filter, timer, shutter). Deliberately NOT required by the native camera itself: HELIX OS opens that as a free avatar ability and pushes helix:camera-state without consulting the world manifest, so a world cannot take the player's camera away by omitting a scope. This gates only the reverse act — a world reaching for controls the player did not touch. It is also NOT camera.capture, which is about writing an image to the player's album; pointing the camera and saving what it saw are separate permissions on purpose."; readonly status: "enforced"; }; readonly multiplayer: { readonly description: "Reserve and join the declared multiplayer provider."; readonly status: "enforced"; }; readonly "voice.proximity": { readonly description: "Use positional voice metadata."; readonly status: "enforced"; }; readonly "voice.room": { readonly description: "Join room voice."; readonly status: "enforced"; }; }; readonly contractVersion: 1; readonly events: readonly [{ readonly name: "auth-changed"; readonly owner: "shell"; readonly payload: "HelixUser|null"; }, { readonly name: "balance-changed"; readonly owner: "shell"; readonly payload: "void"; }, { readonly name: "inventory-changed"; readonly owner: "shell"; readonly payload: "void"; }, { readonly name: "entitlements-changed"; readonly owner: "shell"; readonly payload: "void"; }, { readonly name: "avatar-changed"; readonly owner: "shell"; readonly payload: "void"; }, { readonly name: "equipment-changed"; readonly owner: "shell"; readonly payload: "void"; }, { readonly name: "emotes-changed"; readonly owner: "shell"; readonly payload: "void"; }, { readonly name: "overlay-open"; readonly owner: "shell"; readonly payload: "string"; }, { readonly name: "overlay-closed"; readonly owner: "shell"; readonly payload: "string"; }, { readonly name: "multiplayer-state"; readonly owner: "network_provider"; readonly payload: "HelixMultiplayerState|null"; }, { readonly name: "voice-state"; readonly owner: "voice_provider"; readonly payload: "HelixVoiceState"; }, { readonly name: "voice-level"; readonly owner: "voice_provider"; readonly payload: "number"; }, { readonly name: "debug-log"; readonly owner: "client"; readonly payload: "DebugLogEntry"; }, { readonly name: "camera-state"; readonly owner: "shell"; readonly payload: "HelixCameraState"; }, { readonly name: "camera-capability"; readonly owner: "client"; readonly payload: "HelixCameraCapability"; }, { readonly name: "world-leave"; readonly owner: "shell"; readonly payload: "void"; }]; readonly knownGaps: readonly [{ readonly id: "inventory-equip-false-success"; readonly publicMethod: "inventory.equipItem"; readonly status: "unavailable"; }, { readonly id: "presence-world-session-rejected"; readonly publicMethod: "presence.setActivity"; readonly status: "correction_required"; }, { readonly id: "wallet-client-balance-arithmetic"; readonly publicMethod: "wallet.getBalance"; readonly status: "correction_required"; }, { readonly id: "analytics-platform-hardcoded-web"; readonly publicMethod: "analytics.track"; readonly status: "correction_required"; }, { readonly id: "voice-ownership-not-cross-runtime"; readonly publicMethod: "voice.join"; readonly status: "correction_required"; }, { readonly id: "creator-webui-not-public"; readonly publicMethod: null; readonly status: "unavailable"; }, { readonly id: "homes-not-public-and-native-launch-disabled"; readonly publicMethod: null; readonly status: "unavailable"; }, { readonly id: "raw-session-token-not-unreal-bindable"; readonly publicMethod: "root.getSessionToken"; readonly status: "correction_required"; }, { readonly id: "camera-drone-flight-authority-uncontracted"; readonly publicMethod: "camera.flyDrone"; readonly status: "unavailable"; }]; readonly namespaces: { readonly achievements: { readonly methods: { readonly list: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["player_access_or_public_view"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["player_access_or_public_view"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["player_access_or_public_view"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["player_access_or_public_view"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; readonly mine: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; }; }; readonly analytics: { readonly methods: { readonly track: { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "runtime_platform_must_not_be_hardcoded_web"; readonly credentials: readonly ["world_session_or_anonymous"]; readonly errors: readonly ["CORRECTION_REQUIRED"]; readonly idempotency: "event_id"; readonly input: "eventName: AnalyticsEventName, input?: AnalyticsTrackInput"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "runtime_platform_must_not_be_hardcoded_web"; readonly credentials: readonly ["world_session_or_anonymous"]; readonly idempotency: "event_id"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "runtime_platform_must_not_be_hardcoded_web"; readonly credentials: readonly ["world_session_or_anonymous"]; readonly idempotency: "event_id"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "runtime_platform_must_not_be_hardcoded_web"; }; readonly web: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "runtime_platform_must_not_be_hardcoded_web"; }; }; readonly signature: "(eventName: AnalyticsEventName, input?: AnalyticsTrackInput) => Promise"; readonly transportOwner: "direct"; }; }; }; readonly auth: { readonly methods: { readonly getUser: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["auth.profile"]; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["auth.profile"]; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["auth.profile"]; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly ["auth.profile"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; readonly isAuthenticated: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => boolean"; readonly transportOwner: "local"; }; readonly onAuthChanged: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "listener: AuthListener) => (("; readonly output: "void)"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(listener: AuthListener) => (() => void)"; readonly transportOwner: "shell"; }; readonly requestLogin: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; }; }; readonly avatar: { readonly methods: { readonly getEquipped: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; readonly preview: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "direct"; }; readonly getEquippedForUser: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "userId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; readonly preview: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(userId: string) => Promise"; readonly transportOwner: "direct"; }; readonly getLoadout: { readonly authority: "platform"; readonly availability: "conditional"; readonly correction: "shell_only_until_runtime_token_is_accepted"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "conditional"; readonly correction: "shell_only_until_runtime_token_is_accepted"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "conditional"; readonly correction: "shell_only_until_runtime_token_is_accepted"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "shell_only_until_runtime_token_is_accepted"; }; readonly web: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "shell_only_until_runtime_token_is_accepted"; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; readonly onAvatarChanged: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "cb: () => void) => (("; readonly output: "void)"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: () => void) => (() => void)"; readonly transportOwner: "shell"; }; readonly openCreator: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; readonly updateLoadout: { readonly authority: "platform"; readonly availability: "conditional"; readonly correction: "shell_only_until_runtime_token_is_accepted"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "optimistic_server_update"; readonly input: "patch: AvatarLoadoutPatch"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "conditional"; readonly correction: "shell_only_until_runtime_token_is_accepted"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "optimistic_server_update"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "conditional"; readonly correction: "shell_only_until_runtime_token_is_accepted"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "optimistic_server_update"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "shell_only_until_runtime_token_is_accepted"; }; readonly web: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "shell_only_until_runtime_token_is_accepted"; }; }; readonly signature: "(patch: AvatarLoadoutPatch) => Promise"; readonly transportOwner: "shell"; }; }; }; readonly camera: { readonly methods: { readonly available: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => boolean"; readonly transportOwner: "local"; }; readonly capabilities: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "HelixCameraCapability"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => HelixCameraCapability"; readonly transportOwner: "local"; }; readonly capture: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "canvas: HTMLCanvasElement, opts?: CaptureOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(canvas: HTMLCanvasElement, opts?: CaptureOptions) => Promise"; readonly transportOwner: "local"; }; readonly control: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CORRECTION_REQUIRED", "INVALID_ARGUMENT", "RATE_LIMITED", "RUNTIME_CAPABILITY_UNAVAILABLE", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "control: HelixCameraControl"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["camera.control"]; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["camera.control"]; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["camera.control"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(control: HelixCameraControl) => Promise"; readonly transportOwner: "shell"; }; readonly flyDrone: { readonly authority: "shell_player"; readonly availability: "unavailable"; readonly correction: "drone_flight_authority_contract_required"; readonly credentials: readonly []; readonly errors: readonly ["UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "command: HelixCameraDroneCommand"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "shell_player"; readonly availability: "unavailable"; readonly correction: "drone_flight_authority_contract_required"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["camera.control"]; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "shell_player"; readonly availability: "unavailable"; readonly correction: "drone_flight_authority_contract_required"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["camera.control"]; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["camera.control"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "unavailable"; readonly bindable: false; readonly correction: "drone_flight_authority_contract_required"; }; readonly web: { readonly availability: "unavailable"; readonly bindable: false; readonly correction: "drone_flight_authority_contract_required"; }; }; readonly signature: "(command: HelixCameraDroneCommand) => Promise"; readonly transportOwner: "shell"; }; readonly getState: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "HelixCameraState"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => HelixCameraState"; readonly transportOwner: "local"; }; readonly onStateChanged: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "cb: (state: HelixCameraState) => void) => (("; readonly output: "void)"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (state: HelixCameraState) => void) => (() => void)"; readonly transportOwner: "local"; }; readonly reportCapability: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT"]; readonly idempotency: "replace_current"; readonly input: "capability: HelixCameraCapability"; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(capability: HelixCameraCapability) => boolean"; readonly transportOwner: "shell"; }; readonly savePhoto: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "server_defined"; readonly input: "image: Blob | ArrayBuffer | Uint8Array, meta?: { caption?: string; aspect?: CameraAspect; contentType?: string; }"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["camera.capture"]; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["camera.capture"]; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["camera.capture"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(image: Blob | ArrayBuffer | Uint8Array, meta?: { caption?: string; aspect?: CameraAspect; contentType?: string; }) => Promise"; readonly transportOwner: "shell"; }; }; }; readonly customizer: { readonly methods: { readonly getContext: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session_or_preview"]; readonly errors: readonly ["AUTH_REQUIRED", "INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "PackageCustomizerContext"; readonly profilePolicies: { readonly client: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session_or_preview"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session_or_preview"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session_or_preview"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => PackageCustomizerContext"; readonly transportOwner: "local"; }; }; }; readonly dataStore: { readonly methods: { readonly delete: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "optimistic_version"; readonly input: "key: string, options?: DataStoreWriteOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "optimistic_version"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "optimistic_version"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly managed_server: { readonly authority: "world_server"; readonly availability: "unavailable"; readonly correction: "planned_managed_server_route_not_shipped"; readonly credentials: readonly ["managed_workload_credential"]; readonly idempotency: "optimistic_version"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(key: string, options?: DataStoreWriteOptions) => Promise"; readonly transportOwner: "shell"; }; readonly get: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "key: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly managed_server: { readonly authority: "world_server"; readonly availability: "unavailable"; readonly correction: "planned_managed_server_route_not_shipped"; readonly credentials: readonly ["managed_workload_credential"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(key: string) => Promise"; readonly transportOwner: "shell"; }; readonly getEntry: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "key: string"; readonly output: "Promise<{ value: T; version: number; } | null>"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly managed_server: { readonly authority: "world_server"; readonly availability: "unavailable"; readonly correction: "planned_managed_server_route_not_shipped"; readonly credentials: readonly ["managed_workload_credential"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(key: string) => Promise<{ value: T; version: number; } | null>"; readonly transportOwner: "shell"; }; readonly list: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "prefix?: string, opts?: DataStoreListOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly managed_server: { readonly authority: "world_server"; readonly availability: "unavailable"; readonly correction: "planned_managed_server_route_not_shipped"; readonly credentials: readonly ["managed_workload_credential"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(prefix?: string, opts?: DataStoreListOptions) => Promise"; readonly transportOwner: "shell"; }; readonly set: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "optimistic_version"; readonly input: "key: string, value: T, options?: DataStoreWriteOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "optimistic_version"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "optimistic_version"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly managed_server: { readonly authority: "world_server"; readonly availability: "unavailable"; readonly correction: "planned_managed_server_route_not_shipped"; readonly credentials: readonly ["managed_workload_credential"]; readonly idempotency: "optimistic_version"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(key: string, value: T, options?: DataStoreWriteOptions) => Promise"; readonly transportOwner: "shell"; }; }; }; readonly debug: { readonly methods: { readonly enabled: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly managed_server: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => boolean"; readonly transportOwner: "local"; }; readonly log: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "...args: unknown[]"; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly managed_server: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(...args: unknown[]) => void"; readonly transportOwner: "local"; }; readonly onLog: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "cb: (entry: DebugLogEntry) => void) => (("; readonly output: "void)"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly managed_server: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (entry: DebugLogEntry) => void) => (() => void)"; readonly transportOwner: "local"; }; readonly recent: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "DebugLogEntry[]"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly managed_server: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => DebugLogEntry[]"; readonly transportOwner: "local"; }; }; }; readonly device: { readonly methods: { readonly openPhone: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => boolean"; readonly transportOwner: "shell"; }; readonly openTablet: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => boolean"; readonly transportOwner: "shell"; }; }; }; readonly emotes: { readonly methods: { readonly getEquipped: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; readonly preview: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "direct"; }; }; }; readonly inventory: { readonly methods: { readonly equipItem: { readonly authority: "platform"; readonly availability: "unavailable"; readonly correction: "inventory_instance_equip_contract_required"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "itemId: string"; readonly output: "Promise"; readonly profilePolicies: {}; readonly profiles: readonly []; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "unavailable"; readonly bindable: false; readonly correction: "inventory_instance_equip_contract_required"; }; readonly web: { readonly availability: "unavailable"; readonly bindable: false; readonly correction: "inventory_instance_equip_contract_required"; }; }; readonly signature: "(itemId: string) => Promise"; readonly transportOwner: "shell"; }; readonly getMyItems: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; readonly getQuantity: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "itemId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(itemId: string) => Promise"; readonly transportOwner: "shell"; }; readonly hasItem: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "itemId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(itemId: string) => Promise"; readonly transportOwner: "shell"; }; readonly onInventoryChanged: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "cb: () => void) => (("; readonly output: "void)"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: () => void) => (() => void)"; readonly transportOwner: "shell"; }; }; }; readonly leaderboard: { readonly methods: { readonly submit: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "server_defined"; readonly input: "board: string, score: number, options?: LeaderboardSubmitOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly managed_server: { readonly authority: "world_server"; readonly availability: "unavailable"; readonly correction: "planned_managed_server_route_not_shipped"; readonly credentials: readonly ["managed_workload_credential"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(board: string, score: number, options?: LeaderboardSubmitOptions) => Promise"; readonly transportOwner: "shell"; }; readonly top: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "board: string, options?: LeaderboardTopOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly managed_server: { readonly authority: "world_server"; readonly availability: "unavailable"; readonly correction: "planned_managed_server_route_not_shipped"; readonly credentials: readonly ["managed_workload_credential"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(board: string, options?: LeaderboardTopOptions) => Promise"; readonly transportOwner: "shell"; }; }; }; readonly listen: { readonly methods: { readonly close: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "sessionId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "unavailable"; readonly bindable: false; readonly correction: "listen_host_admission_is_native_host_only"; }; }; readonly signature: "(sessionId: string) => Promise"; readonly transportOwner: "shell"; }; readonly consume: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "sdk_minted_operation_id"; readonly input: "sessionId: string, listenJoinToken: string, connectionId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "sdk_minted_operation_id"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "unavailable"; readonly bindable: false; readonly correction: "listen_host_admission_is_native_host_only"; }; }; readonly signature: "(sessionId: string, listenJoinToken: string, connectionId: string) => Promise"; readonly transportOwner: "shell"; }; readonly heartbeat: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "sessionId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "unavailable"; readonly bindable: false; readonly correction: "listen_host_admission_is_native_host_only"; }; }; readonly signature: "(sessionId: string) => Promise"; readonly transportOwner: "shell"; }; readonly release: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "sdk_minted_operation_id"; readonly input: "sessionId: string, seatId: string, connectionId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "sdk_minted_operation_id"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "unavailable"; readonly bindable: false; readonly correction: "listen_host_admission_is_native_host_only"; }; }; readonly signature: "(sessionId: string, seatId: string, connectionId: string) => Promise"; readonly transportOwner: "shell"; }; }; }; readonly locomotion: { readonly methods: { readonly getEquipped: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "network_provider"; }; }; }; readonly marketplace: { readonly methods: { readonly getListings: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_or_player_access"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "query?: MarketplaceQuery"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_or_player_access"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_or_player_access"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_or_player_access"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(query?: MarketplaceQuery) => Promise"; readonly transportOwner: "shell"; }; readonly getPurchase: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "lookup_by_original_key"; readonly input: "idempotencyKey: string, ref?: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "lookup_by_original_key"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "lookup_by_original_key"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(idempotencyKey: string, ref?: string) => Promise"; readonly transportOwner: "shell"; }; readonly getPurchaseContext: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "ref: string, options?: PurchaseOptions | number"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(ref: string, options?: PurchaseOptions | number) => Promise"; readonly transportOwner: "shell"; }; readonly purchaseDistribution: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "required_or_sdk_managed"; readonly input: "distributionId: string, options?: PurchaseOptions | number"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "required_or_sdk_managed"; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "required_or_sdk_managed"; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(distributionId: string, options?: PurchaseOptions | number) => Promise"; readonly transportOwner: "shell"; }; readonly purchaseDistributionKey: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "required_or_sdk_managed"; readonly input: "key: string, options?: PurchaseOptions | number"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "required_or_sdk_managed"; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "required_or_sdk_managed"; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(key: string, options?: PurchaseOptions | number) => Promise"; readonly transportOwner: "shell"; }; readonly purchaseListing: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "required_or_sdk_managed"; readonly input: "listingId: string, options?: PurchaseOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "required_or_sdk_managed"; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "required_or_sdk_managed"; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(listingId: string, options?: PurchaseOptions) => Promise"; readonly transportOwner: "shell"; }; readonly purchaseProduct: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "required_or_sdk_managed"; readonly input: "productKey: string, options?: PurchaseOptions | number"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "required_or_sdk_managed"; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "required_or_sdk_managed"; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(productKey: string, options?: PurchaseOptions | number) => Promise"; readonly transportOwner: "shell"; }; }; }; readonly matchmaking: { readonly methods: { readonly cancel: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "delete_current"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "matchmaking_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "direct"; }; readonly enqueue: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "server_defined"; readonly input: "queueId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "matchmaking_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(queueId: string) => Promise"; readonly transportOwner: "direct"; }; readonly onMatch: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "cb: (match: MatchFound) => void) => ("; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "matchmaking_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (match: MatchFound) => void) => () => void"; readonly transportOwner: "direct"; }; readonly onStatus: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "cb: (status: QueueStatus) => void) => ("; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "matchmaking_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (status: QueueStatus) => void) => () => void"; readonly transportOwner: "direct"; }; readonly status: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "matchmaking_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "direct"; }; }; }; readonly materials: { readonly methods: { readonly clearCache: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => void"; readonly transportOwner: "local"; }; readonly fromCatalog: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "assetBaseUrl: string, catalog: HelixMaterialCatalog"; readonly output: "HelixMaterialLibrary"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(assetBaseUrl: string, catalog: HelixMaterialCatalog) => HelixMaterialLibrary"; readonly transportOwner: "local"; }; readonly load: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "cache_by_url"; readonly input: "assetBaseUrl: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "cache_by_url"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "cache_by_url"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "cache_by_url"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(assetBaseUrl: string) => Promise"; readonly transportOwner: "local"; }; }; }; readonly multiplayer: { readonly handles: { readonly HelixRoom: { readonly methods: readonly ["onStateChange", "onAdd.players", "onAdd.entities", "onRemove.players", "onRemove.entities", "onMessage", "onTicket", "onStateAck", "onEntityStateAck", "sendState", "sendAbility", "sendAction", "sendGesture", "sendAttachments", "uploadEntity", "uploadEntities", "pendingInputs", "acknowledge", "onDrop", "onReconnect", "onLeave", "leave", "player"]; readonly properties: readonly ["roomId", "sessionId", "roomType", "instanceKey", "effectiveUploadHz", "state", "vars", "me", "phase", "currentTurn", "isMyTurn"]; }; }; readonly methods: { readonly configure: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_configuration"; readonly input: "options: { apiBaseUrl: string; }"; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "replace_configuration"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "replace_configuration"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "replace_configuration"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(options: { apiBaseUrl: string; }) => void"; readonly transportOwner: "network_provider"; }; readonly currentRoomId: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "string | null"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => string | null"; readonly transportOwner: "network_provider"; }; readonly joinRoom: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session_then_room_credential"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "reservation_defined"; readonly input: "worldId?: string, options?: JoinRoomOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session_then_room_credential"]; readonly idempotency: "reservation_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session_then_room_credential"]; readonly idempotency: "reservation_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(worldId?: string, options?: JoinRoomOptions) => Promise"; readonly transportOwner: "network_provider"; }; readonly leave: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "network_provider"; }; readonly switchRoom: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session_then_room_credential"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT"]; readonly idempotency: "reservation_defined"; readonly input: "target: SwitchRoomTarget, options?: SwitchRoomOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session_then_room_credential"]; readonly idempotency: "reservation_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session_then_room_credential"]; readonly idempotency: "reservation_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "room_hop_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(target: SwitchRoomTarget, options?: SwitchRoomOptions) => Promise"; readonly transportOwner: "network_provider"; }; }; }; readonly notify: { readonly methods: { readonly failure: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "title: string, message?: string"; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(title: string, message?: string) => boolean"; readonly transportOwner: "shell"; }; readonly message: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "title: string, message?: string"; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(title: string, message?: string) => boolean"; readonly transportOwner: "shell"; }; readonly notification: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "title: string, message?: string"; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(title: string, message?: string) => boolean"; readonly transportOwner: "shell"; }; readonly show: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "notification: HelixNotification"; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(notification: HelixNotification) => boolean"; readonly transportOwner: "shell"; }; readonly success: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "title: string, message?: string"; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(title: string, message?: string) => boolean"; readonly transportOwner: "shell"; }; }; }; readonly party: { readonly methods: { readonly accept: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "server_defined"; readonly input: "inviteId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(inviteId: string) => Promise"; readonly transportOwner: "direct"; }; readonly createCode: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "direct"; }; readonly decline: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "delete_current"; readonly input: "inviteId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(inviteId: string) => Promise"; readonly transportOwner: "direct"; }; readonly get: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "direct"; }; readonly invite: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "server_defined"; readonly input: "userId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(userId: string) => Promise"; readonly transportOwner: "direct"; }; readonly join: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "server_defined"; readonly input: "code: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(code: string) => Promise"; readonly transportOwner: "direct"; }; readonly kick: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "delete_current"; readonly input: "userId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(userId: string) => Promise"; readonly transportOwner: "direct"; }; readonly leave: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "delete_current"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "direct"; }; readonly onChange: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "cb: (state: PartyState) => void) => ("; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (state: PartyState) => void) => () => void"; readonly transportOwner: "direct"; }; readonly onError: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "cb: (error: HelixPartyError) => void) => ("; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (error: HelixPartyError) => void) => () => void"; readonly transportOwner: "direct"; }; readonly onInvite: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "cb: (invite: PartyInvite) => void) => ("; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (invite: PartyInvite) => void) => () => void"; readonly transportOwner: "direct"; }; readonly promote: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "userId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(userId: string) => Promise"; readonly transportOwner: "direct"; }; readonly revokeCode: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "delete_current"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "direct"; }; }; }; readonly presence: { readonly methods: { readonly clearActivity: { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "runtime_scoped_presence_authority_required"; readonly credentials: readonly ["world_session_currently_rejected"]; readonly errors: readonly ["CORRECTION_REQUIRED"]; readonly idempotency: "delete_current"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: {}; readonly profiles: readonly []; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "runtime_scoped_presence_authority_required"; }; readonly web: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "runtime_scoped_presence_authority_required"; }; }; readonly signature: "() => Promise"; readonly transportOwner: "direct"; }; readonly setActivity: { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "runtime_scoped_presence_authority_required"; readonly credentials: readonly ["world_session_currently_rejected"]; readonly errors: readonly ["CORRECTION_REQUIRED"]; readonly idempotency: "replace_current"; readonly input: "activity: HelixPresenceActivity"; readonly output: "Promise"; readonly profilePolicies: {}; readonly profiles: readonly []; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "runtime_scoped_presence_authority_required"; }; readonly web: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "runtime_scoped_presence_authority_required"; }; }; readonly signature: "(activity: HelixPresenceActivity) => Promise"; readonly transportOwner: "direct"; }; }; }; readonly prompts: { readonly methods: { readonly clear: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "delete_by_prompt_id_or_all"; readonly input: "promptId?: string"; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "delete_by_prompt_id_or_all"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "delete_by_prompt_id_or_all"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "delete_by_prompt_id_or_all"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(promptId?: string) => boolean"; readonly transportOwner: "shell"; }; readonly set: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_by_prompt_id"; readonly input: "prompt: HelixInteractionPrompt"; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_by_prompt_id"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_by_prompt_id"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_by_prompt_id"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(prompt: HelixInteractionPrompt) => boolean"; readonly transportOwner: "shell"; }; }; }; readonly purchases: { readonly methods: { readonly consume: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "sdk_minted_operation_id"; readonly input: "code: string, amount: number"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "sdk_minted_operation_id"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "sdk_minted_operation_id"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(code: string, amount: number) => Promise"; readonly transportOwner: "shell"; }; readonly getEntitlements: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; readonly getPurchase: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "lookup_by_original_key"; readonly input: "idempotencyKey: string, ref?: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "lookup_by_original_key"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "lookup_by_original_key"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(idempotencyKey: string, ref?: string) => Promise"; readonly transportOwner: "shell"; }; readonly onEntitlementsChanged: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "cb: () => void) => (("; readonly output: "void)"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: () => void) => (() => void)"; readonly transportOwner: "shell"; }; }; }; readonly root: { readonly methods: { readonly getSessionToken: { readonly authority: "client"; readonly availability: "correction_required"; readonly correction: "web_world_session_is_not_an_unreal_runtime_credential"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["CORRECTION_REQUIRED"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "string | null"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "conditional"; readonly correction: "web_only_raw_world_session_token"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "conditional"; readonly correction: "web_only_raw_world_session_token"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "raw_session_token_must_not_be_unreal_bindable"; }; readonly web: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "web_only_raw_world_session_token"; }; }; readonly signature: "() => string | null"; readonly transportOwner: "local"; }; readonly hasLeft: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "world_leave_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => boolean"; readonly transportOwner: "local"; }; readonly init: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session_or_preview"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "one_initialization_per_runtime"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session_or_preview"]; readonly idempotency: "one_initialization_per_runtime"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session_or_preview"]; readonly idempotency: "one_initialization_per_runtime"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session_or_preview"]; readonly idempotency: "one_initialization_per_runtime"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; readonly onLeave: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "cb: () => void) => ("; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "world_leave_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: () => void) => () => void"; readonly transportOwner: "shell"; }; }; }; readonly voice: { readonly methods: { readonly applySettings: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "settings: HelixVoiceSettings"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(settings: HelixVoiceSettings) => Promise"; readonly transportOwner: "voice_provider"; }; readonly channel: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "string | null"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => string | null"; readonly transportOwner: "local"; }; readonly channelOf: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "userId: string"; readonly output: "string | null"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(userId: string) => string | null"; readonly transportOwner: "local"; }; readonly getMicMode: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "HelixVoiceMicMode"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => HelixVoiceMicMode"; readonly transportOwner: "local"; }; readonly join: { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "shell_owned_cross_runtime_voice_contract_required"; readonly credentials: readonly ["world_session_or_instance_assignment"]; readonly errors: readonly ["CORRECTION_REQUIRED"]; readonly idempotency: "one_connection_per_client"; readonly input: "options?: JoinVoiceOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "shell_owned_cross_runtime_voice_contract_required"; readonly credentials: readonly ["world_session_or_instance_assignment"]; readonly idempotency: "one_connection_per_client"; readonly requiredCapabilities: readonly ["voice.room"]; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "shell_owned_cross_runtime_voice_contract_required"; readonly credentials: readonly ["world_session_or_instance_assignment"]; readonly idempotency: "one_connection_per_client"; readonly requiredCapabilities: readonly ["voice.room"]; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["voice.room"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "shell_owned_cross_runtime_voice_contract_required"; }; readonly web: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "shell_owned_cross_runtime_voice_contract_required"; }; }; readonly signature: "(options?: JoinVoiceOptions) => Promise"; readonly transportOwner: "voice_provider"; }; readonly leave: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "voice_provider"; }; readonly mutedUserIds: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "string[]"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => string[]"; readonly transportOwner: "local"; }; readonly onParticipantsChanged: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "cb: (userIds: string[]) => void) => ("; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (userIds: string[]) => void) => () => void"; readonly transportOwner: "voice_provider"; }; readonly onSpeakingChanged: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "cb: (userIds: string[]) => void) => ("; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (userIds: string[]) => void) => () => void"; readonly transportOwner: "voice_provider"; }; readonly participantIds: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "string[]"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => string[]"; readonly transportOwner: "local"; }; readonly setChannel: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "channelId: string | null"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["voice.room"]; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["voice.room"]; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["voice.room"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(channelId: string | null) => Promise"; readonly transportOwner: "voice_provider"; }; readonly setDevice: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "deviceId: string, label?: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(deviceId: string, label?: string) => Promise"; readonly transportOwner: "voice_provider"; }; readonly setListenerPose: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "position: HelixVoiceVec3, forward: HelixVoiceVec3, up?: HelixVoiceVec3"; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["voice.proximity"]; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["voice.proximity"]; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["voice.proximity"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(position: HelixVoiceVec3, forward: HelixVoiceVec3, up?: HelixVoiceVec3) => void"; readonly transportOwner: "voice_provider"; }; readonly setMicMode: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "mode: HelixVoiceMicMode"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(mode: HelixVoiceMicMode) => Promise"; readonly transportOwner: "voice_provider"; }; readonly setMicVolume: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "volume: number"; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(volume: number) => void"; readonly transportOwner: "voice_provider"; }; readonly setOutputVolume: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "volume: number"; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(volume: number) => void"; readonly transportOwner: "voice_provider"; }; readonly setParticipantPosition: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_by_participant"; readonly input: "userId: string, position: HelixVoiceVec3 | null"; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_by_participant"; readonly requiredCapabilities: readonly ["voice.proximity"]; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_by_participant"; readonly requiredCapabilities: readonly ["voice.proximity"]; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["voice.proximity"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(userId: string, position: HelixVoiceVec3 | null) => void"; readonly transportOwner: "voice_provider"; }; readonly setParticipantVolume: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_by_participant"; readonly input: "userId: string, volume: number"; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_by_participant"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_by_participant"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(userId: string, volume: number) => void"; readonly transportOwner: "voice_provider"; }; readonly setPlayerMuted: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_by_user"; readonly input: "userId: string, muted: boolean"; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_by_user"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_by_user"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(userId: string, muted: boolean) => void"; readonly transportOwner: "voice_provider"; }; readonly setPttDown: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "down: boolean"; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(down: boolean) => void"; readonly transportOwner: "voice_provider"; }; readonly startAudio: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "voice_provider"; }; }; }; readonly wallet: { readonly methods: { readonly getBalance: { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "consume_authoritative_spendable_balance"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["CORRECTION_REQUIRED"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "consume_authoritative_spendable_balance"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "consume_authoritative_spendable_balance"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "consume_authoritative_spendable_balance"; }; readonly web: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "consume_authoritative_spendable_balance"; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; readonly onBalanceChanged: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "cb: (b: Balance) => void) => (("; readonly output: "void)"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (b: Balance) => void) => (() => void)"; readonly transportOwner: "shell"; }; }; }; }; readonly publicApi: { readonly entryPoint: "src/index.ts"; readonly exports: readonly [{ readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface AbilityMessage {\n ability: string;\n active: boolean;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "AbilityMessage"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface AccessorModuleState {\n roomVars?: Record;\n players?: KeyedBag;\n entities?: KeyedBag;\n phase?: string;\n timerDeadlines?: KeyedBag;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-accessors.ts"; }]; readonly kind: "type"; readonly name: "AccessorModuleState"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface AccessorRoomState {\n roomVars?: Record;\n players?: {\n get(id: string): PlayerBag;\n } | Record;\n phase?: string;\n modules?: Record;\n moduleChunks?: Record | undefined>;\n dynamicModules?: KeyedBag;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-accessors.ts"; }]; readonly kind: "type"; readonly name: "AccessorRoomState"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type AccountVerificationLevel = 'basic' | 'verified' | 'identity_verified' | 'business_verified';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "AccountVerificationLevel"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type AchievementListResult = {\n achievements: AchievementSummary[];\n total: number;\n earned: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "AchievementListResult"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type AchievementMineResult = {\n achievements: AchievementSummary[];\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "AchievementMineResult"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type AchievementSummary = {\n id: string;\n key: string;\n name: string;\n description: string | null;\n points: number;\n hidden: boolean;\n earned: boolean;\n rarityTier: string;\n earnPct: number | null;\n iconUrl: string | null;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "AchievementSummary"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface ActionMessage {\n finalRest?: {\n scope?: FinalRestProvenance;\n version: 1;\n requestId: number;\n group: string;\n };\n moduleId?: string;\n itemInstanceId?: string;\n bundleChecksumSha256?: string;\n moduleRevision?: number;\n engagement?: 'acquire' | 'release';\n engagementRequestId?: number;\n engagementEpoch?: number;\n name: string;\n args?: Record;\n vehicleAction?: VehicleActionEnvelope;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "ActionMessage"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface ActionSurfaceAction {\n id: string;\n label: string;\n kind: ActionSurfaceKind;\n call?: string;\n socket?: string;\n enabled?: boolean;\n visible?: boolean;\n reason?: string;\n availability?: ActionSurfaceAvailability;\n value?: number | string | null;\n var?: string;\n min?: number;\n max?: number;\n step?: number;\n unit?: string;\n placeholder?: string;\n maxLength?: number;\n inputMode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';\n options?: readonly ActionSurfaceOption[];\n optionsFrom?: ActionSurfaceOptionsFrom;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/action-surface.ts"; }]; readonly kind: "type"; readonly name: "ActionSurfaceAction"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface ActionSurfaceAvailability {\n state: 'available' | 'busy' | 'occupied';\n label?: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/action-surface.ts"; }]; readonly kind: "type"; readonly name: "ActionSurfaceAvailability"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type ActionSurfaceDevice = 'keyboard' | 'gamepad' | 'touch';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/action-surface.ts"; }]; readonly kind: "type"; readonly name: "ActionSurfaceDevice"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface ActionSurfaceHintSource {\n activeDevice(): ActionSurfaceDevice;\n hint(action: Extract): string;\n subscribe?(listener: () => void): () => void;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/action-surface.ts"; }]; readonly kind: "type"; readonly name: "ActionSurfaceHintSource"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type ActionSurfaceInvocation = {\n action: ActionSurfaceAction;\n kind: 'run' | 'point' | 'takeover';\n} | {\n action: ActionSurfaceAction;\n kind: 'number';\n value: number;\n} | {\n action: ActionSurfaceAction;\n kind: 'choice' | 'asset' | 'text';\n value: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/action-surface.ts"; }]; readonly kind: "type"; readonly name: "ActionSurfaceInvocation"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type ActionSurfaceKind = 'run' | 'choice' | 'number' | 'text' | 'point' | 'asset' | 'takeover';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/action-surface.ts"; }]; readonly kind: "type"; readonly name: "ActionSurfaceKind"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface ActionSurfaceModeOptions {\n surface: UniversalActionSurface;\n id?: string;\n suppression?: Suppression;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/action-surface.ts"; }]; readonly kind: "type"; readonly name: "ActionSurfaceModeOptions"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface ActionSurfaceOption {\n value: string;\n label: string;\n disabled?: boolean;\n reason?: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/action-surface.ts"; }]; readonly kind: "type"; readonly name: "ActionSurfaceOption"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface ActionSurfaceOptionsFrom {\n query?: {\n has: string;\n scope?: 'room' | 'world';\n };\n inventory?: {\n accepts: string;\n };\n var?: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/action-surface.ts"; }]; readonly kind: "type"; readonly name: "ActionSurfaceOptionsFrom"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface ActionSurfaceSnapshot {\n instanceId: string;\n title: string;\n actions: readonly ActionSurfaceAction[];\n availability?: ActionSurfaceAvailability;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/action-surface.ts"; }]; readonly kind: "type"; readonly name: "ActionSurfaceSnapshot"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "const ANY_VERB = '*';"; readonly kind: "VariableDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "value"; readonly name: "ANY_VERB"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const ATTACHMENT_LIMITS = {\n maxAttachments: 8,\n maxIdLength: 32,\n idPattern: /^[A-Za-z0-9][A-Za-z0-9_\\-.:]*$/,\n maxAssetUrlLength: 512,\n maxSocketNameLength: 64,\n socketNamePattern: /^[A-Za-z0-9][A-Za-z0-9_\\-.]*$/,\n maxPresetLength: 32,\n maxOffsetM: 2,\n} as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "value"; readonly name: "ATTACHMENT_LIMITS"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface AttachmentEntry {\n id: string;\n asset: string;\n socket: string;\n position: Vec3;\n rotationEulerDeg: Vec3;\n preset: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/state.ts"; }]; readonly kind: "type"; readonly name: "AttachmentEntry"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface AttachmentsMessage {\n attachments: AttachmentEntry[];\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "AttachmentsMessage"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type AvatarComposition = {\n compositionDigest: string;\n appearanceDigest: string;\n hostKind: 'character';\n appearance: {\n hiddenSlotIds: string[];\n materialOverrides: Record;\n colorOverrides: Record;\n };\n instanceThumbnailUrl: string | null;\n base: {\n itemId: string;\n modelUrl: string | null;\n };\n materials: Record;\n visibleAddOns: Array<{\n slotId: string;\n itemId: string;\n modelUrl: string | null;\n visualOps: unknown[];\n mountSocket?: string | null;\n fill?: 'all' | 'each';\n }>;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "AvatarComposition"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type AvatarLoadout = {\n version: 1;\n body: UniversalAvatarBody;\n baseShape: AvatarBaseShape;\n customAvatar: EquippedAvatar;\n equippedSlots: AvatarLoadoutSlot[];\n inventory: InventoryItem[];\n updatedAt: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "AvatarLoadout"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type AvatarLoadoutPatch = {\n baseShape?: AvatarBaseShape;\n customAvatarInventoryItemId?: string | null;\n equippedSlots?: Record;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "AvatarLoadoutPatch"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type AvatarRefreshMessage = Record;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "AvatarRefreshMessage"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type Balance = {\n lix: number;\n coins: number;\n updatedAt?: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "Balance"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export function bindStackSafety(stack: ModeStack, target: EventTarget = globalThis, visibilityTarget: VisibilitySafetyTarget | null = (globalThis as {\n document?: VisibilitySafetyTarget;\n}).document ?? null): () => void {\n const clear = () => void stack.clear(true);\n const onVisibility = () => {\n if (visibilityTarget?.hidden)\n clear();\n };\n target.addEventListener('blur', clear);\n visibilityTarget?.addEventListener('visibilitychange', onVisibility);\n target.addEventListener('pagehide', clear);\n target.addEventListener('beforeunload', clear);\n return () => {\n target.removeEventListener('blur', clear);\n visibilityTarget?.removeEventListener('visibilitychange', onVisibility);\n target.removeEventListener('pagehide', clear);\n target.removeEventListener('beforeunload', clear);\n };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "value"; readonly name: "bindStackSafety"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type BroadcastPayload = Record;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "BroadcastPayload"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "const CAMERA_CAPABILITY_FLAGS: readonly CameraCapabilityFlag[] = [\n 'photo',\n 'video',\n 'drone',\n 'twoHandPose',\n 'focusPoint',\n 'exposureBias',\n 'worldAudio',\n];"; readonly kind: "VariableDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "CAMERA_CAPABILITY_FLAGS"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "const CAMERA_LENS_PRESETS = [0.5, 1, 2, 3, 5] as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "value"; readonly name: "CAMERA_LENS_PRESETS"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "const CAMERA_MAX_ZOOM: number = CAMERA_LENS_PRESETS[CAMERA_LENS_PRESETS.length - 1];"; readonly kind: "VariableDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "CAMERA_MAX_ZOOM"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "const CAMERA_MIN_ZOOM: number = CAMERA_LENS_PRESETS[0];"; readonly kind: "VariableDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "CAMERA_MIN_ZOOM"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type CameraAim = {\n yaw: number;\n pitch: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "CameraAim"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type CameraAspect = 'portrait' | 'landscape' | 'square' | 'free';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "CameraAspect"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type CameraCapabilityFlag = Exclude;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "type"; readonly name: "CameraCapabilityFlag"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export function cameraCapabilityGate(control: HelixCameraControl, state: HelixCameraState): CameraCapabilityFlag | null {\n const { capability } = state;\n const media = control.media ?? state.media;\n const escalatesVideo = control.media === 'video' ||\n control.recording === true ||\n (control.shutter === true && media === 'video');\n if (escalatesVideo && !capability.video)\n return 'video';\n if (control.shutter === true && media === 'photo' && !capability.photo)\n return 'photo';\n if (control.spatial === 'drone' || control.session === 'drone') {\n if (!capability.drone)\n return 'drone';\n }\n if (control.session === 'device-hold' && !capability.twoHandPose)\n return 'twoHandPose';\n if (control.focusPoint !== undefined && !capability.focusPoint)\n return 'focusPoint';\n if (control.exposureBias !== undefined && !capability.exposureBias)\n return 'exposureBias';\n if (control.worldAudio === true && !capability.worldAudio)\n return 'worldAudio';\n return null;\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "cameraCapabilityGate"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type CameraControlTarget = 'camera' | 'avatar';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "CameraControlTarget"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type CameraDroneLockMode = 'free' | 'lock' | 'orbit';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "CameraDroneLockMode"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type CameraFilterId = 'original' | 'vivid' | 'warm' | 'cool' | 'mono';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "CameraFilterId"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type CameraFocusPoint = {\n x: number;\n y: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "CameraFocusPoint"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface CameraIntent {\n target: {\n x: number;\n y: number;\n z: number;\n };\n distance: number;\n fov?: number;\n orbit?: {\n yawDeg: number;\n pitchDeg: number;\n };\n blendSeconds?: number;\n clamp?: {\n yaw?: [number, number];\n pitch?: [number, number];\n };\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "CameraIntent"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type CameraLensPreset = (typeof CAMERA_LENS_PRESETS)[number];"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "CameraLensPreset"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type CameraMediaMode = 'photo' | 'video';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "CameraMediaMode"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type CameraSessionState = 'inactive' | 'device-hold' | 'rear' | 'selfie' | 'drone';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "CameraSessionState"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type CameraSpatialMode = 'rear' | 'selfie' | 'drone';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "CameraSpatialMode"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type CameraTimerSeconds = 0 | 3 | 10;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "CameraTimerSeconds"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type CameraVector3 = {\n x: number;\n y: number;\n z: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "CameraVector3"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type Capability = ModeCapability;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "Capability"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export async function captureCanvas(source: HTMLCanvasElement, opts: CaptureOptions = {}): Promise {\n const type = opts.type ?? 'image/jpeg';\n const quality = opts.quality ?? 0.92;\n const { sx, sy, sw, sh } = cropRectForAspect(source.width, source.height, opts.aspect ?? 'free');\n if (sw <= 0 || sh <= 0) {\n throw new Error('Helix.camera: nothing to capture (empty canvas)');\n }\n const out = typeof OffscreenCanvas !== 'undefined'\n ? new OffscreenCanvas(sw, sh)\n : Object.assign(document.createElement('canvas'), { width: sw, height: sh });\n const ctx = (out as HTMLCanvasElement).getContext('2d');\n if (!ctx)\n throw new Error('Helix.camera: 2D canvas context unavailable');\n ctx.drawImage(source, sx, sy, sw, sh, 0, 0, sw, sh);\n return canvasToBlob(out as HTMLCanvasElement, type, quality);\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "captureCanvas"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type CaptureOptions = {\n aspect?: CameraAspect;\n type?: string;\n quality?: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "type"; readonly name: "CaptureOptions"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export function clampCameraZoom(zoom: number): number {\n if (!Number.isFinite(zoom))\n return 1;\n return Math.min(CAMERA_MAX_ZOOM, Math.max(CAMERA_MIN_ZOOM, zoom));\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "clampCameraZoom"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface ClientMessagePayloads {\n [ClientMessageType.State]: StateMessage;\n [ClientMessageType.Ability]: AbilityMessage;\n [ClientMessageType.Action]: ActionMessage;\n [ClientMessageType.Gesture]: GestureMessage;\n [ClientMessageType.Attachments]: AttachmentsMessage;\n [ClientMessageType.PurchaseReceipt]: PurchaseReceiptMessage;\n [ClientMessageType.AvatarRefresh]: AvatarRefreshMessage;\n [ClientMessageType.EmoteRefresh]: EmoteRefreshMessage;\n [ClientMessageType.EmoteJoin]: EmoteJoinMessage;\n [ClientMessageType.EntityState]: EntityStateMessage;\n [ClientMessageType.EntityStateBatch]: EntityStateBatchMessage;\n [ClientMessageType.Ping]: PingMessage;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "ClientMessagePayloads"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const ClientMessageType = {\n State: 'state',\n Ability: 'ability',\n Action: 'action',\n Gesture: 'gesture',\n Attachments: 'attachments',\n PurchaseReceipt: 'purchaseReceipt',\n AvatarRefresh: 'avatarRefresh',\n EmoteRefresh: 'emoteRefresh',\n EmoteJoin: 'emoteJoin',\n EntityState: 'entityState',\n EntityStateBatch: 'entityStateBatch',\n Ping: 'ping',\n} as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }, { readonly declaration: "export type ClientMessageType = (typeof ClientMessageType)[keyof typeof ClientMessageType];"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "value_and_type"; readonly name: "ClientMessageType"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export function cloneCameraCapability(capability: HelixCameraCapability): HelixCameraCapability {\n void CLONED_CAPABILITY_FIELDS;\n return {\n photo: capability.photo,\n video: capability.video,\n drone: capability.drone,\n twoHandPose: capability.twoHandPose,\n focusPoint: capability.focusPoint,\n exposureBias: capability.exposureBias,\n worldAudio: capability.worldAudio,\n ...(capability.unavailableReason !== undefined\n ? { unavailableReason: capability.unavailableReason }\n : {}),\n };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "cloneCameraCapability"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export function cloneCameraState(state: HelixCameraState): HelixCameraState {\n void CLONED_STATE_FIELDS;\n return {\n session: state.session,\n media: state.media,\n spatial: state.spatial,\n controlTarget: state.controlTarget,\n lens: state.lens,\n zoom: state.zoom,\n filter: state.filter,\n timerSeconds: state.timerSeconds,\n aim: { yaw: state.aim.yaw, pitch: state.aim.pitch },\n shutter: {\n sequence: state.shutter.sequence,\n recording: state.shutter.recording,\n timerRemainingSeconds: state.shutter.timerRemainingSeconds,\n },\n capability: cloneCameraCapability(state.capability),\n ...(state.focusPoint ? { focusPoint: { x: state.focusPoint.x, y: state.focusPoint.y } } : {}),\n ...(state.exposureBias !== undefined ? { exposureBias: state.exposureBias } : {}),\n ...(state.drone ? { drone: cloneCameraDroneState(state.drone) } : {}),\n };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "cloneCameraState"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type ConsumeResult = {\n applied: boolean;\n balance: number;\n reason?: 'insufficient';\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "ConsumeResult"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const CONTRACT_VERSION = 34 as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/index.ts"; }]; readonly kind: "value"; readonly name: "CONTRACT_VERSION"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export function createActionSurfaceInputMap() {\n return {\n navigate: {\n action: 'move' as const,\n label: 'Navigate',\n touch: { kind: 'stick' as const, zone: 'left' as const },\n continuous: true,\n repeatMs: 140,\n },\n activate: {\n action: 'primary' as const,\n label: 'Select',\n touch: { kind: 'tap' as const, zone: 'primary' as const },\n },\n back: {\n action: 'cancel' as const,\n label: 'Back',\n touch: { kind: 'button' as const, zone: 'secondary' as const },\n },\n };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/action-surface.ts"; }]; readonly kind: "value"; readonly name: "createActionSurfaceInputMap"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export function createActionSurfaceMode(options: ActionSurfaceModeOptions): InteractionMode {\n let unbind: Array<() => void> = [];\n return {\n id: options.id ?? 'helix.action-surface',\n suppress: {\n locomotion: true,\n defaultHud: true,\n interaction: true,\n ...options.suppression,\n },\n input: createActionSurfaceInputMap(),\n enter(ctx: ModeContext) {\n unbind = [\n ctx.onVerb('navigate', (event) => options.surface.handleVerb('navigate', event)),\n ctx.onVerb('activate', (event) => options.surface.handleVerb('activate', event)),\n ctx.onVerb('back', (event) => {\n const dismissingRoot = event.phase === 'start' && options.surface.mode === 'browse';\n options.surface.handleVerb('back', event);\n if (dismissingRoot)\n ctx.release();\n }),\n ];\n },\n exit() {\n for (const dispose of unbind.splice(0))\n dispose();\n options.surface.endEngagement();\n },\n };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/action-surface.ts"; }]; readonly kind: "value"; readonly name: "createActionSurfaceMode"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export function createDreamerAudioClient(options: DreamerAudioClientOptions): DreamerAudioClient {\n const apiOrigin = normalizeApiOrigin(options.apiBaseUrl);\n const dreamerBase = `${apiOrigin}/api/v1/dreamer`;\n const requestFetch = options.fetch ?? globalThis.fetch;\n if (!requestFetch) {\n throw new DreamerAudioCapabilityUnavailableError();\n }\n async function token(): Promise {\n const source = options.accessToken;\n return typeof source === 'function' ? await source() : (source ?? null);\n }\n async function request(path: string, init: RequestInit = {}): Promise {\n const accessToken = await token();\n const headers = new Headers(init.headers);\n if (accessToken)\n headers.set('Authorization', `Bearer ${accessToken}`);\n const url = `${dreamerBase}${path}`;\n const response = await requestFetch(url, { ...init, headers });\n if (!response.ok) {\n let body = '';\n try {\n body = await response.text();\n }\n catch {\n }\n throw new DreamerAudioApiError(response.status, url, body);\n }\n return (await response.json()) as T;\n }\n async function start(input: DreamerAudioGenerateRequest): Promise<{\n jobId: string;\n status: 'queued';\n }> {\n return request('/assets/generate', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ kind: 'audio', ...input }),\n });\n }\n function get(jobId: string): Promise {\n return request(`/assets/jobs/${encodeURIComponent(jobId)}`);\n }\n async function generate(input: DreamerAudioGenerateRequest, pollOptions: DreamerAudioPollOptions = {}): Promise {\n const accepted = await start(input);\n const pollIntervalMs = pollOptions.pollIntervalMs ?? options.pollIntervalMs ?? 2000;\n const timeoutMs = pollOptions.timeoutMs ?? options.timeoutMs ?? DREAMER_AUDIO_TIMEOUT_MS;\n const deadline = Date.now() + timeoutMs;\n while (Date.now() < deadline) {\n const job = await get(accepted.jobId);\n pollOptions.onProgress?.(job);\n if (job.status === 'succeeded')\n return job;\n if (job.status === 'failed') {\n throw new DreamerAudioJobFailedError(job);\n }\n await sleep(pollIntervalMs);\n }\n throw new DreamerAudioJobTimeoutError(accepted.jobId, timeoutMs);\n }\n async function generateAndResolve(input: DreamerAudioGenerateRequest, pollOptions: DreamerAudioPollOptions = {}): Promise {\n const job = await generate(input, pollOptions);\n if (!job.vaultAssetId) {\n throw new DreamerAudioVaultUnavailableError(job);\n }\n const vault = createVaultClient({\n apiBaseUrl: apiOrigin,\n fetch: requestFetch,\n accessToken: options.accessToken,\n });\n const resolved = await vault.resolve<'audio'>(job.vaultAssetId);\n const loadPlan = vault.createLoadPlan(resolved);\n if (loadPlan.loader !== 'audio') {\n throw new Error(`HELIX Vault asset ${job.vaultAssetId} is not a loadable audio artifact.`);\n }\n return { job, resolved, loadPlan };\n }\n return { start, get, generate, generateAndResolve };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "value"; readonly name: "createDreamerAudioClient"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export function createMaterialLibrary(assetBaseUrl: string, catalog: HelixMaterialCatalog): HelixMaterialLibrary {\n assertCatalog(catalog);\n const base = trimBase(assetBaseUrl);\n const byId = new Map(catalog.materials.map((material) => [material.id, material]));\n const catalogResolutions = (Array.isArray(catalog.resolutions) ? catalog.resolutions : []).filter((tier) => !!tier && typeof tier.key === 'string' && tier.key.trim() !== '');\n const absoluteMaps = (maps: HelixMaterialMapPaths): HelixMaterialMapPaths => ({\n albedo: absoluteAssetUrl(base, maps.albedo),\n normal: absoluteAssetUrl(base, maps.normal),\n orm: absoluteAssetUrl(base, maps.orm),\n });\n const absoluteOptions = (material: HelixMaterialDefinition): HelixMaterialResolutionOption[] => materialResolutionOptions(material).map((option) => ({\n ...option,\n maps: absoluteMaps(option.maps),\n }));\n return {\n assetBaseUrl: base,\n catalog,\n catalogResolutions,\n list(query = {}) {\n const needle = query.query?.trim().toLowerCase() ?? '';\n const matches = catalog.materials.filter((material) => {\n if (query.category && material.category !== query.category)\n return false;\n if (query.kind && material.kind !== query.kind)\n return false;\n if (!needle)\n return true;\n return [material.id, material.name, material.category, ...material.tags]\n .join(' ')\n .toLowerCase()\n .includes(needle);\n });\n return query.limit === undefined\n ? matches\n : matches.slice(0, Math.max(0, Math.floor(query.limit)));\n },\n get(id) {\n return byId.get(id) ?? null;\n },\n resolutions(id) {\n const material = byId.get(id);\n return material ? absoluteOptions(material) : [];\n },\n resolve(id, options = {}) {\n const material = byId.get(id);\n if (!material)\n return null;\n const available = absoluteOptions(material);\n const requested = options.resolution?.trim() ?? '';\n const chosen = requested\n ? findResolutionOption(id, requested, available)\n : defaultResolutionOption(material, available);\n return {\n ...material,\n ...(chosen ? { maps: chosen.maps } : {}),\n ...(material.resolutions\n ? {\n resolutions: Object.fromEntries(available.map((option) => [\n option.key,\n {\n ...(option.pixels === null ? {} : { pixels: option.pixels }),\n maps: option.maps,\n },\n ])),\n }\n : {}),\n ...(chosen\n ? {\n resolution: {\n key: chosen.key,\n pixels: chosen.pixels,\n available: available.map((option) => option.key),\n },\n }\n : {}),\n };\n },\n };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/materials.ts"; }]; readonly kind: "value"; readonly name: "createMaterialLibrary"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export function createMaterialsNamespace(fetchCatalog?: typeof fetch): {\n load(assetBaseUrl: string): Promise;\n fromCatalog(assetBaseUrl: string, catalog: HelixMaterialCatalog): HelixMaterialLibrary;\n clearCache(): void;\n} {\n const cache = new Map>();\n return {\n load(assetBaseUrl) {\n const base = trimBase(assetBaseUrl);\n const existing = cache.get(base);\n if (existing)\n return existing;\n const requestFetch = fetchCatalog ?? globalThis.fetch;\n if (!requestFetch) {\n return Promise.reject(new Error('HELIX materials require a runtime with fetch support'));\n }\n const request = requestFetch(`${base}/catalog.json`)\n .then(async (response) => {\n if (!response.ok) {\n throw new Error(`HELIX material catalog request failed (${response.status})`);\n }\n const catalog = (await response.json()) as unknown;\n assertCatalog(catalog);\n return createMaterialLibrary(base, catalog);\n })\n .catch((error) => {\n cache.delete(base);\n throw error;\n });\n cache.set(base, request);\n return request;\n },\n fromCatalog: createMaterialLibrary,\n clearCache() {\n cache.clear();\n },\n };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/materials.ts"; }]; readonly kind: "value"; readonly name: "createMaterialsNamespace"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export function createModuleAccessors(sessionId: string, moduleId: string, state: () => AccessorRoomState | null | undefined): ModuleAccessors {\n const dynamicVars = (module: AccessorDynamicModuleState): Record => {\n const output: Record = {};\n const copy = (bag: KeyedBag | undefined, accept: (value: unknown) => value is T): void => {\n if (!bag)\n return;\n if (typeof (bag as {\n forEach?: unknown;\n }).forEach === 'function') {\n (bag as {\n forEach(cb: (value: T, key: string) => void): void;\n }).forEach((value, key) => {\n if (accept(value))\n output[key] = value;\n });\n return;\n }\n for (const [key, value] of Object.entries(bag))\n if (accept(value))\n output[key] = value;\n };\n copy(module.booleans, (value): value is boolean => typeof value === 'boolean');\n copy(module.numbers, (value): value is number => typeof value === 'number' && Number.isFinite(value));\n copy(module.strings, (value): value is string => typeof value === 'string');\n return output;\n };\n const current = (): AccessorModuleState | undefined => {\n const root = state();\n const wireKey = `m:${moduleId}`;\n const flat = root?.modules?.[wireKey];\n if (flat)\n return flat;\n for (let index = 0;; index++) {\n const chunk = root?.moduleChunks?.[`c${index}`];\n if (!chunk)\n break;\n const module = chunk[wireKey];\n if (module)\n return module;\n }\n const dynamic = keyedCollectionEntry(root?.dynamicModules, moduleId);\n return dynamic === undefined\n ? undefined\n : {\n roomVars: dynamicVars(dynamic),\n phase: dynamic.phase,\n };\n };\n const varsFor = (collection: KeyedBag | KeyedBag | undefined, id: string): Record | undefined => keyedCollectionEntry(collection, id)?.vars;\n return {\n moduleId,\n vars: createVarsView(() => current()?.roomVars),\n me: createVarsView(() => varsFor(current()?.players, sessionId)),\n player: (id) => createVarsView(() => varsFor(current()?.players, id)),\n entity: (id) => createVarsView(() => varsFor(current()?.entities, id)),\n phase: () => current()?.phase ?? '',\n timerDeadline: (name, key) => keyedCollectionEntry(current()?.timerDeadlines, key === undefined ? name : `${name}|${key}`) ?? 0,\n };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/multiplayer-accessors.ts"; }]; readonly kind: "value"; readonly name: "createModuleAccessors"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export function createRoomAccessors(sessionId: string, state: () => AccessorRoomState | null | undefined): RoomAccessors {\n const vars = createVarsView(() => state()?.roomVars);\n const playerVars = (id: string): Record | undefined => {\n const players = state()?.players;\n if (!players)\n return undefined;\n return keyedCollectionEntry(players, id)?.vars;\n };\n const player = (id: string): VarsView => createVarsView(() => playerVars(id));\n const currentTurn = (): string => {\n const order = vars.list('turnOrder');\n if (order.length === 0)\n return '';\n const idx = vars.num('turnIndex');\n const entry = order[idx];\n return entry === null || entry === undefined ? '' : String(entry);\n };\n return {\n vars,\n me: player(sessionId),\n player,\n phase: () => state()?.phase ?? '',\n currentTurn,\n isMyTurn: () => {\n const turn = currentTurn();\n return turn !== '' && turn === sessionId;\n },\n module: (moduleId) => createModuleAccessors(sessionId, moduleId, state),\n };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/multiplayer-accessors.ts"; }]; readonly kind: "value"; readonly name: "createRoomAccessors"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export function createSealedDeviceDefinitionResolver(projection: SealedDeviceDefinitionProjection, options: SealedDeviceDefinitionResolverOptions = {}): SealedDeviceDefinitionResolver {\n assertProjectionEnvelope(projection);\n const normalized = normalizeSealedDeviceDefinitionProjection(projection);\n if (normalized === null)\n throw new Error('Sealed Device definition is invalid');\n const canonical = canonicalJson(normalized.definition);\n const definition = normalized.definition;\n const expectedChecksum = normalized.definitionChecksumSha256;\n const expiresAtMs = normalized.expiresAtEpochSeconds * 1000;\n const now = options.now ?? Date.now;\n const sha256 = options.sha256 ?? defaultSha256;\n let disposed = false;\n let validated: Promise | undefined;\n const resolver = (async (reference: DeviceDefinitionReference): Promise => {\n assertActive(disposed, expiresAtMs, now);\n assertDefinitionIdentity(definition, reference);\n validated ??= (async () => {\n const bytes = new TextEncoder().encode(canonical);\n const actualChecksum = (await sha256(bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength) as ArrayBuffer)).toLowerCase();\n if (!SHA256_HEX.test(actualChecksum) ||\n actualChecksum !== expectedChecksum) {\n throw new Error('Sealed Device definition checksum mismatch');\n }\n assertDefinitionIdentity(definition, reference);\n if (definition.compatibility !== undefined &&\n (!Array.isArray(definition.compatibility?.hosts) ||\n !definition.compatibility.hosts.includes('world'))) {\n throw new Error(`Device ${definition.id} does not support World hosts`);\n }\n if (!definition.state ||\n typeof definition.state !== 'object' ||\n Array.isArray(definition.state) ||\n !Array.isArray(definition.interactions)) {\n throw new Error('Sealed Device definition structure is invalid');\n }\n return definition;\n })();\n const result = await validated;\n assertActive(disposed, expiresAtMs, now);\n return result;\n }) as SealedDeviceDefinitionResolver;\n resolver.dispose = () => {\n disposed = true;\n validated = undefined;\n };\n return resolver;\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/device-definition-resolver.ts"; }]; readonly kind: "value"; readonly name: "createSealedDeviceDefinitionResolver"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export function createVarsView(source: () => VarsBag): VarsView {\n const read = (name: string): unknown => {\n if (name.charCodeAt(0) === 0x24)\n return undefined;\n const bag = source();\n if (bag === null || bag === undefined)\n return undefined;\n const direct = bag[name];\n if (direct !== undefined)\n return direct;\n return readThroughChunks(bag, name);\n };\n return {\n num: (name, fallback = 0) => {\n const v = read(name);\n return typeof v === 'number' && Number.isFinite(v) ? v : fallback;\n },\n str: (name, fallback = '') => {\n const v = read(name);\n if (typeof v === 'string')\n return v;\n return v !== null && v !== undefined && typeof v === 'object' ? String(v) : fallback;\n },\n bool: (name, fallback = false) => {\n const v = read(name);\n return typeof v === 'boolean' ? v : fallback;\n },\n vec3: (name) => {\n const v = read(name) as {\n x?: unknown;\n y?: unknown;\n z?: unknown;\n } | null | undefined;\n return v && typeof v.x === 'number' && typeof v.y === 'number' && typeof v.z === 'number'\n ? { x: v.x, y: v.y, z: v.z }\n : null;\n },\n list: (name: string): T[] => {\n const v = read(name);\n if (Array.isArray(v))\n return v.slice() as T[];\n if (v !== null && v !== undefined && typeof v === 'object' && Symbol.iterator in (v as object))\n return [...(v as Iterable)];\n return [];\n },\n raw: read,\n has: (name) => read(name) !== undefined,\n names: () => {\n const bag = source();\n if (bag === null || bag === undefined)\n return [];\n const logical = (o: Record): string[] => Object.keys(o).filter((k) => k.charCodeAt(0) !== 0x24 && o[k] !== undefined);\n if (!chunkAt(bag, 0))\n return logical(bag);\n const out: string[] = [];\n for (let i = 0;; i++) {\n const chunk = chunkAt(bag, i);\n if (!chunk)\n return out;\n out.push(...logical(chunk));\n }\n },\n };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/multiplayer-accessors.ts"; }]; readonly kind: "value"; readonly name: "createVarsView"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export function createVaultClient(options: VaultClientOptions): VaultClient {\n const vaultBase = normalizeVaultBase(options.apiBaseUrl);\n const requestFetch = options.fetch ?? globalThis.fetch;\n if (!requestFetch) {\n throw new VaultCapabilityUnavailableError('fetch');\n }\n const hasher = options.sha256 ?? defaultSha256;\n async function token(): Promise {\n const source = options.accessToken;\n return typeof source === 'function' ? await source() : (source ?? null);\n }\n async function request(path: string, init: RequestInit = {}): Promise {\n const accessToken = await token();\n const headers = new Headers(init.headers);\n if (accessToken)\n headers.set('Authorization', `Bearer ${accessToken}`);\n const url = `${vaultBase}${path}`;\n const response = await requestFetch(url, { ...init, headers });\n if (!response.ok) {\n let body = '';\n try {\n body = await response.text();\n }\n catch {\n }\n throw new VaultApiError(response.status, url, body);\n }\n return response;\n }\n async function json(path: string): Promise {\n const response = await request(path);\n return (await response.json()) as T;\n }\n async function resolve(handleOrAssetId: VaultAssetHandle | string): Promise> {\n const assetId = typeof handleOrAssetId === 'string'\n ? handleOrAssetId\n : handleOrAssetId.assetId;\n const asset = await json>(`/assets/${encodeURIComponent(assetId)}`);\n const handle = asHandle(asset, handleOrAssetId);\n if (handle.version === asset.artifact.version) {\n return {\n handle,\n asset,\n artifact: asset.artifact,\n relatedArtifactsComplete: true,\n };\n }\n const versionRows = await versions(assetId);\n const row = versionRows.find((candidate) => candidate.handle.version === handle.version);\n if (!row) {\n throw new VaultApiError(404, `${vaultBase}/assets/${encodeURIComponent(assetId)}/versions`, `Version ${handle.version} does not exist for this asset.`);\n }\n return {\n handle,\n asset,\n artifact: {\n assetId,\n version: handle.version,\n url: row.url,\n urlKind: row.url ? 'cdn' : 'unavailable',\n mimeType: row.mimeType,\n sizeBytes: row.sizeBytes,\n checksumSha256: row.checksumSha256,\n relatedArtifacts: [],\n },\n relatedArtifactsComplete: false,\n };\n }\n async function versions(assetId: string): Promise {\n const response = await json<{\n items: Array & {\n version: number;\n }>;\n }>(`/assets/${encodeURIComponent(assetId)}/versions`);\n return response.items.map(({ version, ...row }) => ({\n ...row,\n handle: { assetId, version },\n }));\n }\n async function downloadReference(reference: VaultArtifactReference, fetchUrl: string, verifyChecksum = reference.checksumSha256 !== null, useAuth = false): Promise {\n if (!reference.url && !useAuth) {\n throw new Error('HELIX Vault related artifact has no servable URL.');\n }\n const response = useAuth\n ? await request(fetchUrl)\n : await requestFetch(fetchUrl, { redirect: 'follow' });\n if (!response.ok) {\n let body = '';\n try {\n body = await response.text();\n }\n catch {\n }\n throw new VaultApiError(response.status, fetchUrl, body);\n }\n const bytes = await response.arrayBuffer();\n let checksumVerified = false;\n if (verifyChecksum && reference.checksumSha256) {\n const actual = (await hasher(bytes)).toLowerCase();\n const expected = reference.checksumSha256.toLowerCase();\n if (actual !== expected) {\n throw new VaultChecksumMismatchError(expected, actual);\n }\n checksumVerified = true;\n }\n return { reference, bytes, checksumVerified };\n }\n async function download(handleOrAssetId: VaultAssetHandle | string, installOptions: Pick = {}): Promise {\n const resolved = await resolve(handleOrAssetId);\n if (!resolved.artifact.url) {\n throw new VaultArtifactUnavailableError(resolved.handle);\n }\n const reference = primaryReference(resolved.artifact);\n const path = `/assets/${encodeURIComponent(resolved.handle.assetId)}/download?version=${resolved.handle.version}`;\n return downloadReference(reference, path, installOptions.verifyChecksum, true);\n }\n function downloadArtifact(reference: VaultArtifactReference, installOptions: Pick = {}): Promise {\n if (!reference.url) {\n return Promise.reject(new Error('HELIX Vault related artifact has no servable URL.'));\n }\n return downloadReference(reference, reference.url, installOptions.verifyChecksum);\n }\n return {\n search(query = {}) {\n return json(`/assets${queryString(query)}`);\n },\n get(assetId: string) {\n return json>(`/assets/${encodeURIComponent(assetId)}`);\n },\n versions,\n resolve,\n createLoadPlan: createVaultLoadPlan,\n download,\n downloadArtifact,\n async install(handleOrAssetId, installOptions = {}) {\n const resolved = await resolve(handleOrAssetId);\n const plan = createVaultLoadPlan(resolved);\n const primary = await download(resolved.handle, installOptions);\n const roles = new Set(installOptions.relatedRoles ?? []);\n const related = await Promise.all(plan.related\n .filter((reference) => roles.has(reference.role))\n .map((reference) => downloadArtifact(reference, installOptions)));\n return { asset: resolved, plan, primary, related };\n },\n };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "value"; readonly name: "createVaultClient"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export function createVaultLoadPlan(resolved: VaultResolvedAsset): VaultLoadPlan {\n const { asset, artifact, handle } = resolved;\n const mime = artifact.mimeType.toLowerCase();\n const primary = primaryReference(artifact);\n const related = relatedReferences(artifact.relatedArtifacts);\n if (asset.kind === 'unreal_package') {\n throw new VaultUnsupportedRuntimeError(asset.kind, mime, 'Unreal packages require an Unreal runtime.');\n }\n if (mime === 'model/gltf-binary' || mime === 'model/gltf+json') {\n const purpose = asset.kind === 'character' ||\n asset.kind === 'animation' ||\n asset.kind === 'environment' ||\n asset.kind === 'terrain'\n ? asset.kind\n : 'prop';\n return { loader: 'gltf', purpose, handle, primary, related };\n }\n if (mime === 'image/png' ||\n mime === 'image/jpeg' ||\n mime === 'image/webp' ||\n mime === 'image/ktx2') {\n if (asset.kind !== 'texture' && asset.kind !== 'decal') {\n throw new VaultUnsupportedRuntimeError(asset.kind, mime, 'Image artifacts are only valid as texture or decal resources.');\n }\n return {\n loader: 'image',\n purpose: asset.kind,\n handle,\n primary,\n related,\n };\n }\n if (mime.startsWith('audio/')) {\n return { loader: 'audio', purpose: 'audio', handle, primary, related };\n }\n if (mime === 'image/vnd.radiance' || mime === 'image/x-exr') {\n return {\n loader: 'hdr-environment',\n purpose: 'sky',\n format: mime === 'image/vnd.radiance' ? 'hdr' : 'exr',\n handle,\n primary,\n related,\n };\n }\n if (mime === 'model/vnd.gaussian-splat.spz') {\n return {\n loader: 'gaussian-splat',\n purpose: asset.kind === 'environment' ? 'environment' : 'gaussian_splat',\n format: 'spz',\n scope: splatScope(asset),\n handle,\n primary,\n related,\n };\n }\n const descriptors: Partial['purpose'];\n schema: Extract['schema'];\n }>> = {\n 'application/vnd.helix.material+json': {\n purpose: 'material',\n schema: 'helix-material@1',\n },\n 'application/vnd.helix.scene+json': {\n purpose: 'scene',\n schema: 'helix-scene@1',\n },\n 'application/vnd.helix.terrain+json': {\n purpose: 'terrain',\n schema: 'helix-terrain@1',\n },\n 'application/vnd.helix.vfx+json': {\n purpose: 'vfx',\n schema: 'helix-vfx@1',\n },\n 'application/vnd.helix.sky+json': {\n purpose: 'sky',\n schema: 'helix-sky@1',\n },\n };\n const descriptor = descriptors[mime];\n if (descriptor) {\n return {\n loader: 'helix-descriptor',\n ...descriptor,\n handle,\n primary,\n related,\n };\n }\n throw new VaultUnsupportedRuntimeError(asset.kind, mime, 'No format adapter is registered for this artifact.');\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "value"; readonly name: "createVaultLoadPlan"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type CropRect = {\n sx: number;\n sy: number;\n sw: number;\n sh: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "type"; readonly name: "CropRect"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export function cropRectForAspect(w: number, h: number, aspect: CameraAspect = 'free'): CropRect {\n if (w <= 0 || h <= 0)\n return { sx: 0, sy: 0, sw: Math.max(0, w), sh: Math.max(0, h) };\n if (aspect === 'free')\n return { sx: 0, sy: 0, sw: w, sh: h };\n const target = aspect === 'square' ? 1 : ASPECT_RATIO[aspect];\n const current = w / h;\n let sw = w;\n let sh = h;\n if (current > target) {\n sw = Math.round(h * target);\n }\n else {\n sh = Math.round(w / target);\n }\n const sx = Math.round((w - sw) / 2);\n const sy = Math.round((h - sh) / 2);\n return { sx, sy, sw, sh };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "cropRectForAspect"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type DataStoreListOptions = {\n cursor?: string;\n limit?: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "DataStoreListOptions"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type DataStoreListPage = {\n keys: string[];\n nextCursor?: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "DataStoreListPage"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type DataStoreListPayload = {\n prefix?: string;\n cursor?: string;\n limit?: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "DataStoreListPayload"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type DataStoreWriteOptions = {\n expectedVersion?: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "DataStoreWriteOptions"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type DebugLogEntry = {\n level: DebugLogLevel;\n args: string[];\n t: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "DebugLogEntry"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type DebugLogLevel = 'log' | 'info' | 'warn' | 'error' | 'debug';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "DebugLogLevel"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "const DEFAULT_MATERIAL_PACK_SLUG = 'helix-materials';"; readonly kind: "VariableDeclaration"; readonly source: "src/materials.ts"; }]; readonly kind: "value"; readonly name: "DEFAULT_MATERIAL_PACK_SLUG"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const DEFAULT_PUSH_TO_TALK_KEY = 'n';"; readonly kind: "VariableDeclaration"; readonly source: "src/voice.ts"; }]; readonly kind: "value"; readonly name: "DEFAULT_PUSH_TO_TALK_KEY"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export function defaultCameraCapability(): HelixCameraCapability {\n return {\n photo: false,\n video: false,\n drone: false,\n twoHandPose: false,\n focusPoint: false,\n exposureBias: false,\n worldAudio: false,\n unavailableReason: 'the runtime has not reported camera capability yet',\n };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "defaultCameraCapability"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export function defaultCameraState(): HelixCameraState {\n return {\n session: 'inactive',\n media: 'photo',\n spatial: 'rear',\n controlTarget: 'camera',\n lens: 1,\n zoom: 1,\n filter: 'original',\n timerSeconds: 0,\n aim: { yaw: 0, pitch: 0 },\n shutter: { sequence: 0, recording: false, timerRemainingSeconds: 0 },\n capability: defaultCameraCapability(),\n };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "defaultCameraState"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface DeviceAppDefinitionV1 {\n type: DeviceAppTypeV1;\n entry?: string;\n allowedOrigins?: string[];\n permissions?: DeviceAppPermissionV1[];\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "type"; readonly name: "DeviceAppDefinitionV1"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type DeviceAppPermissionV1 = 'web.content' | 'network.fetch' | 'web.externalNavigation' | 'audio.media';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "type"; readonly name: "DeviceAppPermissionV1"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type DeviceAppTypeV1 = 'localWeb' | 'remoteWeb' | 'youtube' | 'canvas' | 'remoteImage' | 'ownerImage';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "type"; readonly name: "DeviceAppTypeV1"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface DeviceBusBudgetsV1 {\n maxGraphLinks: number;\n maxLinksPerEndpoint: number;\n maxHopsPerDelivery: number;\n maxQueuedDeliveriesPerTick: number;\n maxDeliveriesPerLinkPerTick: number;\n replayWindow: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "type"; readonly name: "DeviceBusBudgetsV1"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface DeviceBusEnvelopeV1 {\n schemaVersion: 1;\n deliveryId: string;\n linkId: string;\n source: DevicePortAddressV1;\n target: DevicePortAddressV1;\n kind: DevicePortKindV1;\n semantic: string;\n hostSequence: number;\n hopCount: number;\n payload?: T;\n stream?: {\n status: DeviceStreamRoutabilityV1;\n handle?: DeviceStreamHandleV1;\n mediaKind: 'audio' | 'video';\n };\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "type"; readonly name: "DeviceBusEnvelopeV1"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type DeviceDefinitionReference = {\n id: string;\n version: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "type"; readonly name: "DeviceDefinitionReference"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface DeviceDefinitionV1 {\n format: 'helix.device';\n formatVersion: 1;\n id: string;\n version: string;\n state: Record;\n interactions: Array<{\n id: string;\n label: string;\n verb?: 'use' | 'open' | 'close' | 'toggle' | 'play' | 'sit' | 'custom';\n maxDistanceM?: number;\n presentation?: {\n kind: 'webPanel';\n app: string;\n };\n control?: {\n kind: 'number';\n stateKey: string;\n min?: number;\n max?: number;\n step?: number;\n unit?: string;\n } | {\n kind: 'choice';\n stateKey: string;\n options: Array<{\n value: string;\n label: string;\n disabled?: boolean;\n reason?: string;\n }>;\n } | {\n kind: 'text';\n stateKey: string;\n placeholder?: string;\n maxLength?: number;\n inputMode?: ActionSurfaceAction['inputMode'];\n };\n }>;\n compatibility?: {\n hosts: Array<'home' | 'world'>;\n requiredCapabilities?: string[];\n };\n capabilities?: string[];\n ports?: DevicePortV1[];\n apps?: Record;\n [key: string]: unknown;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "type"; readonly name: "DeviceDefinitionV1"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface DevicePortAddressV1 {\n instanceId: string;\n port: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "type"; readonly name: "DevicePortAddressV1"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type DevicePortAuthorityV1 = 'local' | 'server';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "type"; readonly name: "DevicePortAuthorityV1"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type DevicePortDataTypeV1 = 'boolean' | 'number' | 'string' | 'media.audio' | 'media.video';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "type"; readonly name: "DevicePortDataTypeV1"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type DevicePortDirectionV1 = 'input' | 'output' | 'bidirectional';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "type"; readonly name: "DevicePortDirectionV1"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type DevicePortKindV1 = 'value' | 'event' | 'command' | 'stream';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "type"; readonly name: "DevicePortKindV1"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface DevicePortV1 {\n id: string;\n direction: DevicePortDirectionV1;\n kind: DevicePortKindV1;\n dataType: DevicePortDataTypeV1;\n interface?: string;\n semantic?: string;\n authority?: DevicePortAuthorityV1;\n stateKey?: string;\n autoPair?: boolean;\n maxLinks?: number;\n routability?: DeviceStreamRoutabilityV1;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "type"; readonly name: "DevicePortV1"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type DeviceStreamHandleV1 = string & {\n readonly __deviceStreamHandleV1: unique symbol;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "type"; readonly name: "DeviceStreamHandleV1"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type DeviceStreamRoutabilityV1 = 'routable' | 'embedded-only' | 'unavailable';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "type"; readonly name: "DeviceStreamRoutabilityV1"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type DeviceTrialSpawn = Readonly<{\n placementId: string;\n itemId: string;\n kind: 'device';\n name: string;\n modelUrl: string | null;\n transform: Readonly<{\n position: readonly [number, number, number];\n yawDeg: number;\n scale: number;\n }>;\n expiresAt: number;\n deviceDefinition: Readonly<{\n id: string;\n version: string;\n }>;\n definition: DeviceDefinitionV1;\n definitionChecksumSha256: string;\n functionalPin: Readonly<{\n continuumPackageId: string;\n continuumPackageVersion: string;\n continuumManifestCid: string;\n }>;\n composition: unknown;\n}>;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "DeviceTrialSpawn"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const DISTRIBUTION_CAPABILITY_MESSAGE = 'distributionCapability';"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "value"; readonly name: "DISTRIBUTION_CAPABILITY_MESSAGE"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const DISTRIBUTION_CAPABILITY_RESULT = 'distributionCapabilityResult';"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "value"; readonly name: "DISTRIBUTION_CAPABILITY_RESULT"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type DistributionCapabilityRequestMessage = {\n requestId: string;\n ref: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "DistributionCapabilityRequestMessage"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type DistributionCapabilityResultMessage = {\n requestId: string;\n capability: string;\n expiresAt: string;\n ref: string;\n} | {\n requestId: string;\n error: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "DistributionCapabilityResultMessage"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "const DREAMER_AUDIO_TIMEOUT_MS = 30 * 60000;"; readonly kind: "VariableDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "value"; readonly name: "DREAMER_AUDIO_TIMEOUT_MS"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export class DreamerAudioApiError extends Error {\n constructor(readonly status: number, readonly url: string, readonly responseBody: string) {\n super(`HELIX Dreamer audio request failed (${status})${responseBody ? `: ${responseBody}` : ''}`);\n this.name = 'DreamerAudioApiError';\n }\n}"; readonly kind: "ClassDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "value_and_type"; readonly name: "DreamerAudioApiError"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type DreamerAudioArtifact = {\n url: string;\n contentType: string;\n sizeBytes: number;\n kind: 'audio';\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "type"; readonly name: "DreamerAudioArtifact"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export class DreamerAudioCapabilityUnavailableError extends Error {\n constructor() {\n super('HELIX Dreamer audio requires Fetch API support in this runtime.');\n this.name = 'DreamerAudioCapabilityUnavailableError';\n }\n}"; readonly kind: "ClassDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "value_and_type"; readonly name: "DreamerAudioCapabilityUnavailableError"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type DreamerAudioClient = {\n start(input: DreamerAudioGenerateRequest): Promise<{\n jobId: string;\n status: 'queued';\n }>;\n get(jobId: string): Promise;\n generate(input: DreamerAudioGenerateRequest, options?: DreamerAudioPollOptions): Promise;\n generateAndResolve(input: DreamerAudioGenerateRequest, options?: DreamerAudioPollOptions): Promise;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "type"; readonly name: "DreamerAudioClient"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type DreamerAudioClientOptions = {\n apiBaseUrl: string;\n fetch?: typeof fetch;\n accessToken?: string | null | (() => string | null | Promise);\n pollIntervalMs?: number;\n timeoutMs?: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "type"; readonly name: "DreamerAudioClientOptions"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type DreamerAudioFailedJob = DreamerAudioJobBase & {\n status: 'failed';\n error?: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "type"; readonly name: "DreamerAudioFailedJob"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type DreamerAudioGenerateRequest = DreamerSoundEffectRequest | DreamerMusicRequest | DreamerTextToSpeechRequest;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "type"; readonly name: "DreamerAudioGenerateRequest"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type DreamerAudioGenerationMode = 'sound_effect' | 'music' | 'text_to_speech';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "type"; readonly name: "DreamerAudioGenerationMode"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type DreamerAudioJob = DreamerAudioPendingJob | DreamerAudioFailedJob | DreamerAudioSucceededJob;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "type"; readonly name: "DreamerAudioJob"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export class DreamerAudioJobFailedError extends Error {\n constructor(readonly job: DreamerAudioFailedJob) {\n super(`HELIX Dreamer audio job ${job.jobId} failed: ${job.error ?? 'no details'}`);\n this.name = 'DreamerAudioJobFailedError';\n }\n}"; readonly kind: "ClassDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "value_and_type"; readonly name: "DreamerAudioJobFailedError"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export class DreamerAudioJobTimeoutError extends Error {\n constructor(readonly jobId: string, readonly timeoutMs: number) {\n super(`HELIX Dreamer audio job ${jobId} timed out after ${timeoutMs}ms.`);\n this.name = 'DreamerAudioJobTimeoutError';\n }\n}"; readonly kind: "ClassDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "value_and_type"; readonly name: "DreamerAudioJobTimeoutError"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type DreamerAudioPendingJob = DreamerAudioJobBase & {\n status: 'queued' | 'running';\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "type"; readonly name: "DreamerAudioPendingJob"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type DreamerAudioPollOptions = {\n pollIntervalMs?: number;\n timeoutMs?: number;\n onProgress?: (job: DreamerAudioJob) => void;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "type"; readonly name: "DreamerAudioPollOptions"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type DreamerAudioSucceededJob = DreamerAudioJobBase & {\n status: 'succeeded';\n asset: DreamerAudioArtifact;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "type"; readonly name: "DreamerAudioSucceededJob"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export class DreamerAudioVaultUnavailableError extends Error {\n constructor(readonly job: DreamerAudioSucceededJob) {\n super(`HELIX Dreamer audio job ${job.jobId} succeeded without a published Vault asset.`);\n this.name = 'DreamerAudioVaultUnavailableError';\n }\n}"; readonly kind: "ClassDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "value_and_type"; readonly name: "DreamerAudioVaultUnavailableError"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type DreamerAudioVoiceSettings = {\n stability?: number;\n similarityBoost?: number;\n style?: number;\n speed?: number;\n speakerBoost?: boolean;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "type"; readonly name: "DreamerAudioVoiceSettings"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type DreamerGeneratedVaultAudio = {\n job: DreamerAudioSucceededJob;\n resolved: VaultResolvedAsset<'audio'>;\n loadPlan: Extract;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "type"; readonly name: "DreamerGeneratedVaultAudio"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type DreamerMusicRequest = DreamerAudioRequestBase & {\n audioMode: 'music';\n prompt: string;\n durationSeconds?: number;\n forceInstrumental?: boolean;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "type"; readonly name: "DreamerMusicRequest"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type DreamerSoundEffectRequest = DreamerAudioRequestBase & {\n audioMode: 'sound_effect';\n prompt: string;\n durationSeconds?: number;\n loop?: boolean;\n promptInfluence?: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "type"; readonly name: "DreamerSoundEffectRequest"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type DreamerTextToSpeechRequest = DreamerAudioRequestBase & {\n audioMode: 'text_to_speech';\n text: string;\n voiceId: string;\n languageCode?: string;\n seed?: number;\n voiceSettings?: DreamerAudioVoiceSettings;\n pronunciationDictionaryIds?: string[];\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/dreamerAudio.ts"; }]; readonly kind: "type"; readonly name: "DreamerTextToSpeechRequest"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface DynamicModuleState {\n phase: string;\n externalRevision: number;\n booleans: Record;\n numbers: Record;\n strings: Record;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/room.ts"; }]; readonly kind: "type"; readonly name: "DynamicModuleState"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const EMOTE_LIMITS = {\n maxEntries: 10,\n maxClipUrlLength: 512,\n maxLabelLength: 64,\n maxPairOffsetM: 3,\n maxOfferAtS: 600,\n} as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "value"; readonly name: "EMOTE_LIMITS"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface EmoteEntry {\n slot: 'r0' | 'r1' | 'r2' | 'r3' | 'r4' | 'r5' | 'r6' | 'r7' | 'sit' | 'lie';\n itemId: string;\n clip: string;\n playback: 'oneshot' | 'loop';\n audio?: string;\n label?: string;\n intro?: string;\n outro?: string;\n roles?: {\n joinerClip: string;\n offerAtS: number;\n offsetX: number;\n offsetZ: number;\n offsetYawDeg: number;\n };\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/state.ts"; }]; readonly kind: "type"; readonly name: "EmoteEntry"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface EmoteJoinMessage {\n initiator: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "EmoteJoinMessage"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type EmoteRefreshMessage = Record;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "EmoteRefreshMessage"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type Entitlements = {\n v: 1;\n passes: Record;\n balances: Record;\n owned: Record;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "Entitlements"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface EntityState {\n id: string;\n kind: string;\n vehicleSeats?: Record;\n position?: Vec3;\n velocity?: Vec3;\n angularVelocity?: Vec3;\n orientation?: Quat;\n controller: string;\n authorityEpoch: number;\n vars: RoomVars & {\n readonly vDetachBits?: number;\n };\n posT: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/room.ts"; }]; readonly kind: "type"; readonly name: "EntityState"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface EntityStateAckEntry {\n e: string;\n seq: number;\n p: [number, number, number];\n lv?: [number, number, number];\n q?: [number, number, number, number];\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "EntityStateAckEntry"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface EntityStateAckMessage {\n moduleId?: string;\n acks: EntityStateAckEntry[];\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "EntityStateAckMessage"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface EntityStateBatchEntry {\n transactionId?: string;\n e: string;\n p: [number, number, number];\n lv?: [number, number, number];\n av?: [number, number, number];\n q?: [number, number, number, number];\n v?: Record;\n ep?: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "EntityStateBatchEntry"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface EntityStateBatchMessage {\n finalRest?: {\n scope?: FinalRestProvenance;\n version: 1;\n requestId: number;\n group: string;\n transactionId: string;\n };\n moduleId?: string;\n seq: number;\n states: EntityStateBatchEntry[];\n tMs?: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "EntityStateBatchMessage"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface EntityStateMessage {\n transactionId?: string;\n moduleId?: string;\n entity: string;\n seq: number;\n position: Vec3;\n velocity?: Vec3;\n angularVelocity?: Vec3;\n orientation?: Quat;\n vars?: Record;\n epoch?: number;\n tMs?: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "EntityStateMessage"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type EquippedAvatar = {\n source: 'equipped' | 'auto' | 'default' | 'trial';\n inventoryItemId?: string | null;\n itemId: string | null;\n glbUrl: string | null;\n contentHash?: string | null;\n skeleton: string | null;\n composition?: AvatarComposition | null;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "EquippedAvatar"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type EquippedEmote = {\n slot: 'r0' | 'r1' | 'r2' | 'r3' | 'r4' | 'r5' | 'r6' | 'r7' | 'sit' | 'lie';\n itemId: string;\n clip: string;\n playback: 'oneshot' | 'loop';\n audio?: string;\n label?: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "EquippedEmote"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type EquippedEmotes = {\n emotes: EquippedEmote[];\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "EquippedEmotes"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type EquippedLocomotionPack = {\n pack: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "EquippedLocomotionPack"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const FINAL_REST_REPLY = '__helix:finalRest';"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/final-rest.ts"; }]; readonly kind: "value"; readonly name: "FINAL_REST_REPLY"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const FINAL_REST_TIMEOUT_MS = 120000;"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/final-rest.ts"; }]; readonly kind: "value"; readonly name: "FINAL_REST_TIMEOUT_MS"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface FinalRestGrant {\n scope?: FinalRestProvenance;\n version: 1;\n status: 'claimed';\n group: string;\n requestId: number;\n transactionId: string;\n members: FinalRestMember[];\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/final-rest.ts"; }]; readonly kind: "type"; readonly name: "FinalRestGrant"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const finalRestId = (v: unknown): v is string => typeof v === 'string' && /^[a-zA-Z0-9_.:-]{1,128}$/.test(v);"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/final-rest.ts"; }]; readonly kind: "value"; readonly name: "finalRestId"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface FinalRestMember {\n id: string;\n epoch: number;\n position: Vec3;\n velocity: Vec3;\n angularVelocity: Vec3;\n orientation: Quat;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/final-rest.ts"; }]; readonly kind: "type"; readonly name: "FinalRestMember"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface FinalRestProvenance extends FinalRestScope {\n generation: number;\n engagementEpoch?: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/final-rest.ts"; }]; readonly kind: "type"; readonly name: "FinalRestProvenance"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type FinalRestReply = FinalRestGrant | {\n scope?: FinalRestProvenance;\n version: 1;\n status: 'rejected' | 'invalidated';\n group: string;\n requestId: number;\n transactionId?: string;\n reason: string;\n entries?: Array<{\n id: string;\n accepted: boolean;\n }>;\n} | {\n scope?: FinalRestProvenance;\n version: 1;\n status: 'committed';\n group: string;\n requestId: number;\n transactionId: string;\n snapshot: GroupRestSnapshotMessage;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer-contract/final-rest.ts"; }]; readonly kind: "type"; readonly name: "FinalRestReply"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface FinalRestScope {\n moduleId: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/final-rest.ts"; }]; readonly kind: "type"; readonly name: "FinalRestScope"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const finalRestScopeKey = (group: string, scope?: FinalRestScope): string => scope === undefined ? group : `m:${scope.moduleId}|${group}`;"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/final-rest.ts"; }]; readonly kind: "value"; readonly name: "finalRestScopeKey"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const finalRestSequence = (v: unknown): v is number => Number.isSafeInteger(v) && (v as number) > 0;"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/final-rest.ts"; }]; readonly kind: "value"; readonly name: "finalRestSequence"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const GESTURE_LIMITS = {\n maxClipNameLength: 64,\n clipNamePattern: /^[A-Za-z0-9][A-Za-z0-9_\\-.:]*$/,\n} as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "value"; readonly name: "GESTURE_LIMITS"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface GestureEventMessage {\n player: string;\n clip: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "GestureEventMessage"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface GestureMessage {\n clip: string;\n play: GesturePlay;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "GestureMessage"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type GesturePlay = 'oneshot' | 'loop' | 'stop';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "GesturePlay"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface GroupRestSnapshotEntity {\n epoch?: number;\n velocity?: Vec3;\n angularVelocity?: Vec3;\n id: string;\n pos: Vec3;\n rot: Quat;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "GroupRestSnapshotEntity"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface GroupRestSnapshotMessage {\n scope?: FinalRestProvenance;\n commit?: {\n version: 1;\n transactionId: string;\n requestId: number;\n };\n group: string;\n seq: number;\n entities: GroupRestSnapshotEntity[];\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "GroupRestSnapshotMessage"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "const Helix = new HelixSdk();"; readonly kind: "VariableDeclaration"; readonly source: "src/index.ts"; }]; readonly kind: "value"; readonly name: "Helix"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixCameraCapability = {\n photo: boolean;\n video: boolean;\n drone: boolean;\n twoHandPose: boolean;\n focusPoint: boolean;\n exposureBias: boolean;\n worldAudio: boolean;\n unavailableReason?: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixCameraCapability"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixCameraControl = {\n session?: CameraSessionState;\n media?: CameraMediaMode;\n spatial?: CameraSpatialMode;\n controlTarget?: CameraControlTarget;\n zoom?: number;\n filter?: CameraFilterId;\n timerSeconds?: CameraTimerSeconds;\n aim?: CameraAim;\n focusPoint?: CameraFocusPoint;\n exposureBias?: number;\n shutter?: boolean;\n recording?: boolean;\n worldAudio?: boolean;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixCameraControl"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixCameraDroneCommand = {\n lockMode?: CameraDroneLockMode;\n subjectUserId?: string;\n transform?: HelixCameraDroneTransform;\n velocity?: CameraVector3;\n interpolationSeconds?: number;\n returnToAvatar?: boolean;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixCameraDroneCommand"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixCameraDroneState = {\n droneId: string;\n transform: HelixCameraDroneTransform;\n velocity: CameraVector3;\n interpolationSeconds: number;\n lockMode: CameraDroneLockMode;\n subjectUserId: string;\n returning: boolean;\n returnDistance: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixCameraDroneState"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixCameraDroneTransform = {\n position: CameraVector3;\n yaw: number;\n pitch: number;\n roll: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixCameraDroneTransform"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixCameraShutter = {\n sequence: number;\n recording: boolean;\n timerRemainingSeconds: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixCameraShutter"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixCameraState = {\n session: CameraSessionState;\n media: CameraMediaMode;\n spatial: CameraSpatialMode;\n controlTarget: CameraControlTarget;\n lens: CameraLensPreset;\n zoom: number;\n filter: CameraFilterId;\n timerSeconds: CameraTimerSeconds;\n aim: CameraAim;\n shutter: HelixCameraShutter;\n capability: HelixCameraCapability;\n focusPoint?: CameraFocusPoint;\n exposureBias?: number;\n drone?: HelixCameraDroneState;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixCameraState"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixDeviceFormFactor = 'phone' | 'tablet';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixDeviceFormFactor"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixDeviceState = {\n open: boolean;\n form?: HelixDeviceFormFactor;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixDeviceState"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixInitResult = {\n embedded: boolean;\n world: HelixWorldContext | null;\n user: HelixUser | null;\n runtimeFidelity: RuntimeFidelityIntent | null;\n customizerSubject: PackageCustomizerSubject | null;\n customizerSource: PackageCustomizerSource | null;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/index.ts"; }]; readonly kind: "type"; readonly name: "HelixInitResult"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixInteractionPrompt = {\n id: string;\n title: string;\n description?: string;\n input?: {\n key?: string;\n button?: string;\n label?: string;\n };\n actionLabel?: string;\n state?: HelixPromptState;\n priority?: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixInteractionPrompt"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export class HelixMatchmakingError extends Error {\n readonly code: HelixMatchmakingErrorCode;\n readonly status: number | null;\n readonly backendCode: string | null;\n readonly match: MatchFound | null;\n readonly memberUserId: string | null;\n constructor(code: HelixMatchmakingErrorCode, message: string, status: number | null = null, backendCode: string | null = null, cause?: unknown, match: MatchFound | null = null, memberUserId: string | null = null) {\n super(message, cause === undefined ? undefined : { cause });\n this.name = 'HelixMatchmakingError';\n this.code = code;\n this.status = status;\n this.backendCode = backendCode;\n this.match = match;\n this.memberUserId = memberUserId;\n Object.setPrototypeOf(this, HelixMatchmakingError.prototype);\n }\n}"; readonly kind: "ClassDeclaration"; readonly source: "src/matchmaking.ts"; }]; readonly kind: "value_and_type"; readonly name: "HelixMatchmakingError"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixMatchmakingErrorCode = 'unknown-queue' | 'already-queued' | 'already-matched' | 'not-party-leader' | 'party-too-large' | 'party-changed' | 'guests-cannot-queue' | 'rate-limited' | 'missing-permission' | 'unavailable' | 'not-ready' | 'invalid-argument' | 'request-failed';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/matchmaking.ts"; }]; readonly kind: "type"; readonly name: "HelixMatchmakingErrorCode"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type HelixMaterialCatalog = {\n schemaVersion: number | string;\n pack: {\n slug: string;\n version: string;\n };\n resolutions?: HelixMaterialResolutionTier[];\n materials: HelixMaterialDefinition[];\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/materials.ts"; }]; readonly kind: "type"; readonly name: "HelixMaterialCatalog"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type HelixMaterialDefinition = {\n id: string;\n name: string;\n category: string;\n kind: HelixMaterialKind;\n tags: string[];\n repeatPerMeter: number;\n roughness: number;\n metalness: number;\n swatch: string;\n normalScale: number;\n maps?: HelixMaterialMapPaths;\n defaultResolution?: string;\n resolutions?: Record;\n source?: {\n provider?: string;\n assetId?: string;\n license?: string;\n url?: string;\n sourceResolution?: string;\n [key: string]: unknown;\n };\n glass?: {\n color: number;\n opacity: number;\n transmission: number;\n };\n water?: {\n color: number;\n opacity: number;\n transmission: number;\n roughness: number;\n waveScale?: number;\n waveSpeed?: number;\n };\n tiling?: {\n technique?: string;\n wrap?: number;\n accepted?: boolean;\n measuredAt?: string;\n wrapBefore?: number;\n wrapAfter?: number;\n bandAfter?: number;\n [key: string]: unknown;\n };\n [key: string]: unknown;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/materials.ts"; }]; readonly kind: "type"; readonly name: "HelixMaterialDefinition"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type HelixMaterialKind = 'texture' | 'glass' | 'procedural_water';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/materials.ts"; }]; readonly kind: "type"; readonly name: "HelixMaterialKind"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type HelixMaterialLibrary = {\n readonly assetBaseUrl: string;\n readonly catalog: HelixMaterialCatalog;\n readonly catalogResolutions: HelixMaterialResolutionTier[];\n list(query?: HelixMaterialQuery): HelixMaterialDefinition[];\n get(id: string): HelixMaterialDefinition | null;\n resolutions(id: string): HelixMaterialResolutionOption[];\n resolve(id: string, options?: {\n resolution?: string;\n }): ResolvedHelixMaterial | null;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/materials.ts"; }]; readonly kind: "type"; readonly name: "HelixMaterialLibrary"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type HelixMaterialMapPaths = {\n albedo: string;\n normal: string;\n orm: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/materials.ts"; }]; readonly kind: "type"; readonly name: "HelixMaterialMapPaths"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type HelixMaterialQuery = {\n query?: string;\n category?: string;\n kind?: HelixMaterialKind;\n limit?: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/materials.ts"; }]; readonly kind: "type"; readonly name: "HelixMaterialQuery"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type HelixMaterialResolutionOption = {\n key: string;\n pixels: number | null;\n maps: HelixMaterialMapPaths;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/materials.ts"; }]; readonly kind: "type"; readonly name: "HelixMaterialResolutionOption"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type HelixMaterialResolutionTier = {\n key: string;\n pixels?: number;\n default?: boolean;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/materials.ts"; }]; readonly kind: "type"; readonly name: "HelixMaterialResolutionTier"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type HelixMaterialResolutionVariant = {\n pixels?: number;\n maps: HelixMaterialMapPaths;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/materials.ts"; }]; readonly kind: "type"; readonly name: "HelixMaterialResolutionVariant"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixMultiplayerRosterEntry = {\n sessionId: string;\n userId: string;\n displayName: string;\n avatarUrl: string;\n isSelf: boolean;\n connected: boolean;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixMultiplayerRosterEntry"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixMultiplayerState = {\n roomId: string;\n sessionId: string;\n playerCount: number;\n maxPlayers: number | null;\n players: HelixMultiplayerRosterEntry[];\n roomType?: string;\n ticketed?: boolean;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixMultiplayerState"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixNotification = {\n kind: HelixNotificationKind;\n title: string;\n message?: string;\n timeoutMs?: number;\n actionLabel?: string;\n actionHref?: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixNotification"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixNotificationKind = 'success' | 'failure' | 'notification' | 'message';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixNotificationKind"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export class HelixPartyError extends Error {\n readonly code: HelixPartyErrorCode;\n readonly status: number | null;\n readonly backendCode: string | null;\n constructor(code: HelixPartyErrorCode, message: string, status: number | null = null, backendCode: string | null = null, cause?: unknown) {\n super(message, cause === undefined ? undefined : { cause });\n this.name = 'HelixPartyError';\n this.code = code;\n this.status = status;\n this.backendCode = backendCode;\n Object.setPrototypeOf(this, HelixPartyError.prototype);\n }\n}"; readonly kind: "ClassDeclaration"; readonly source: "src/matchmaking.ts"; }]; readonly kind: "value_and_type"; readonly name: "HelixPartyError"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixPartyErrorCode = 'not-party-leader' | 'cannot-invite' | 'party-full' | 'too-many-invites' | 'already-in-party' | 'party-changed' | 'not-in-party' | 'unknown-party-member' | 'invite-not-found' | 'invite-expired' | 'code-not-found' | 'guests-cannot-party' | 'rate-limited' | 'missing-permission' | 'unavailable' | 'not-ready' | 'invalid-argument' | 'request-failed';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/matchmaking.ts"; }]; readonly kind: "type"; readonly name: "HelixPartyErrorCode"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixPresenceActivity = {\n state: string;\n details?: string;\n image?: string;\n party?: {\n current: number;\n max: number;\n };\n joinable?: boolean;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixPresenceActivity"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixPromptState = 'default' | 'available' | 'locked' | 'busy';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixPromptState"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export class HelixRequestError extends Error {\n readonly code?: string;\n constructor(message: string, code?: string) {\n super(message);\n this.name = 'HelixRequestError';\n this.code = code;\n }\n}"; readonly kind: "ClassDeclaration"; readonly source: "src/index.ts"; }]; readonly kind: "value_and_type"; readonly name: "HelixRequestError"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface HelixRoom {\n claimPhysicsGroup(action: string, group: string, args?: Record, scope?: FinalRestScope): Promise;\n commitPhysicsGroup(transactionId: string, states: readonly EntityStateBatchEntry[]): Promise;\n onPhysicsGroupRest(group: string, callback: (snapshot: GroupRestSnapshotMessage) => void, scope?: FinalRestScope): void;\n readonly roomId: string;\n readonly sessionId: string;\n readonly roomType: string | null;\n readonly instanceKey: string | null;\n readonly effectiveUploadHz: number;\n readonly state: RoomState;\n onStateChange(cb: (state: RoomState) => void): () => void;\n onAdd(collection: 'players', cb: (player: PlayerState, id: string) => void): void;\n onAdd(collection: 'entities', cb: (entity: EntityState, id: string) => void): void;\n onRemove(collection: 'players', cb: (player: PlayerState, id: string) => void): void;\n onRemove(collection: 'entities', cb: (entity: EntityState, id: string) => void): void;\n onPlayerAvatarChanged(cb: (playerId: string, avatarUrl: string) => void): () => void;\n onMessage(type: string, cb: (payload: Payload) => void): () => void;\n onTicket(cb: (ticket: RoomTicket) => void): () => void;\n onModuleFused(cb: (event: ModuleFusedMessage) => void): void;\n onModuleWake(cb: (event: ModuleWakeMessage) => void): void;\n onModuleSleep(cb: (event: ModuleSleepMessage) => void): void;\n onModuleEngagement(cb: (event: ModuleEngagementMessage) => void): () => void;\n onModuleState(cb: (snapshot: ModuleStateSnapshot) => void): void;\n onModuleEffect(cb: (effect: ModuleEffect) => void): void;\n onStateAck(cb: (ack: StateAckMessage) => void): void;\n onEntityStateAck(cb: (ack: EntityStateAckMessage) => void): void;\n sendState(input: ReplicaInput): void;\n sendAbility(ability: string, active: boolean): void;\n sendAction(name: string, args?: Record, moduleId?: string): void;\n sendModuleAction(request: ModuleActionRequest): boolean;\n sendVehicleComponentAction(request: VehicleComponentActionRequest): boolean;\n sendVehicleDetachAction(request: VehicleDetachActionRequest): boolean;\n requestModuleEngagement(moduleId: string, action: string, args?: Record): void;\n releaseModuleEngagement(moduleId: string, action: string, args?: Record): boolean;\n moduleEngagement(moduleId: string): ModuleEngagementLease | null;\n sendGesture(clip: string, play: GesturePlay): void;\n sendAttachments(attachments: AttachmentEntry[]): void;\n sendAvatarRefresh(): void;\n sendEmoteRefresh(): void;\n requestDistributionCapability(ref: string): Promise;\n sendEmoteJoin(initiator: string): void;\n uploadEntity(entityId: string, input: {\n position: Vec3;\n velocity?: Vec3;\n angularVelocity?: Vec3;\n orientation?: Quat;\n vars?: Record;\n epoch?: number;\n }, moduleId?: string): void;\n uploadEntities(entities: ReadonlyArray<{\n id: string;\n position: Vec3;\n velocity?: Vec3;\n angularVelocity?: Vec3;\n orientation?: Quat;\n vars?: Record;\n epoch?: number;\n }>, moduleId?: string): void;\n pendingInputs(): readonly StateMessage[];\n acknowledge(seq: number): void;\n onDrop(cb: () => void): void;\n onReconnect(cb: () => void): void;\n onLeave(cb: (code: number, reason: HelixRoomLeaveReason) => void): void;\n leave(): Promise;\n readonly vars: VarsView;\n readonly me: VarsView;\n player(id: string): VarsView;\n phase(): string;\n currentTurn(): string;\n isMyTurn(): boolean;\n module(moduleId: string): ModuleAccessors;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer.ts"; }]; readonly kind: "type"; readonly name: "HelixRoom"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export class HelixRoomJoinError extends Error {\n readonly code: HelixRoomJoinErrorCode;\n readonly status: number | null;\n constructor(code: HelixRoomJoinErrorCode, message: string, status: number | null = null, cause?: unknown) {\n super(message, cause === undefined ? undefined : { cause });\n this.name = 'HelixRoomJoinError';\n this.code = code;\n this.status = status;\n Object.setPrototypeOf(this, HelixRoomJoinError.prototype);\n }\n}"; readonly kind: "ClassDeclaration"; readonly source: "src/multiplayer.ts"; }]; readonly kind: "value_and_type"; readonly name: "HelixRoomJoinError"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type HelixRoomJoinErrorCode = 'unknown-room-type' | 'ticket-required' | 'ticket-invalid' | 'room-type-unavailable' | 'instance-closed' | 'rejoin-failed' | 'invalid-target' | 'not-ready' | 'switch-in-progress' | 'join-in-progress' | 'cancelled' | 'left' | 'join-failed';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer.ts"; }]; readonly kind: "type"; readonly name: "HelixRoomJoinErrorCode"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type HelixRoomLeaveReason = 'switch' | 'leave' | 'dropped';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer.ts"; }]; readonly kind: "type"; readonly name: "HelixRoomLeaveReason"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixSession = {\n token: string;\n expiresAt: string;\n scopes: string[];\n trial?: HelixTrial;\n user: HelixUser;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixSession"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixUser = {\n id: string;\n username: string;\n displayName: string | null;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixUser"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface HelixVoiceAudioFeatures {\n rms: number;\n zeroCrossingRate: number;\n bands: readonly [number, number, number, number, number];\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/voice.ts"; }]; readonly kind: "type"; readonly name: "HelixVoiceAudioFeatures"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixVoiceDevice = {\n deviceId: string;\n label: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixVoiceDevice"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixVoiceMicMode = 'ptt' | 'open' | 'muted';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixVoiceMicMode"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixVoicePermission = 'prompt' | 'granted' | 'denied';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixVoicePermission"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixVoiceSettings = {\n micMode: HelixVoiceMicMode;\n micDeviceId?: string;\n micDeviceLabel?: string;\n mutedUserIds: string[];\n micVolume?: number;\n outputVolume?: number;\n micAutoSensitivity?: boolean;\n micSensitivity?: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixVoiceSettings"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixVoiceState = {\n available: boolean;\n connected: boolean;\n micMode: HelixVoiceMicMode;\n pttKey?: string;\n transmitting: boolean;\n permission: HelixVoicePermission;\n activeDeviceId?: string;\n devices: HelixVoiceDevice[];\n speakingUserIds: string[];\n channelId?: string;\n audioBlocked?: boolean;\n error?: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixVoiceState"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type HelixVoiceVec3 = {\n x: number;\n y: number;\n z: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/voice.ts"; }]; readonly kind: "type"; readonly name: "HelixVoiceVec3"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type HelixWorldContext = {\n id: string;\n slug: string;\n title: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "HelixWorldContext"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const IK_LIMITS = {\n maxReachDistanceM: 3,\n maxLookDistanceM: 50,\n} as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "value"; readonly name: "IK_LIMITS"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface InputLeaseHandle {\n readonly epoch: number;\n readonly enforced: boolean;\n release(): void;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "InputLeaseHandle"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface InputLeaseRequest {\n readonly ownerToken: object;\n readonly actions: readonly StandardModeAction[];\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "InputLeaseRequest"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type InputMap = Record;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "InputMap"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface InteractionMode {\n readonly id: string;\n readonly suppress: Suppression;\n readonly camera?: CameraIntent;\n readonly input?: InputMap;\n readonly updateWhileCovered?: boolean;\n enter(ctx: ModeContext): void | Promise;\n exit(ctx: ModeContext): void | Promise;\n update?(dtSeconds: number, ctx: ModeContext): void;\n onCovered?(ctx: ModeContext): void;\n onRevealed?(ctx: ModeContext): void;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "InteractionMode"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export function intersectCameraCapability(runtime: HelixCameraCapability, shell: HelixCameraCapability): HelixCameraCapability {\n const runtimeRefuses = CAMERA_CAPABILITY_FLAGS.some((flag) => !runtime[flag]);\n const shellRefuses = CAMERA_CAPABILITY_FLAGS.some((flag) => runtime[flag] && !shell[flag]);\n const reason = runtimeRefuses\n ? runtime.unavailableReason ?? (shellRefuses ? shell.unavailableReason : undefined)\n : shellRefuses\n ? shell.unavailableReason\n : undefined;\n return {\n photo: runtime.photo && shell.photo,\n video: runtime.video && shell.video,\n drone: runtime.drone && shell.drone,\n twoHandPose: runtime.twoHandPose && shell.twoHandPose,\n focusPoint: runtime.focusPoint && shell.focusPoint,\n exposureBias: runtime.exposureBias && shell.exposureBias,\n worldAudio: runtime.worldAudio && shell.worldAudio,\n ...(reason !== undefined ? { unavailableReason: reason } : {}),\n };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "intersectCameraCapability"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type InventoryItem = {\n id?: string;\n itemId: string;\n title: string;\n kind?: string;\n category?: string;\n subCategory?: string | null;\n quantity: number;\n description?: string | null;\n thumbnailUrl?: string | null;\n equipped?: boolean;\n avatarSlot?: string | null;\n socket?: string | null;\n metadata?: Record;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "InventoryItem"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "const isCameraControlTarget = (v: unknown): v is CameraControlTarget => isMember(CAMERA_CONTROL_TARGETS, v);"; readonly kind: "VariableDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "isCameraControlTarget"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "const isCameraDroneLockMode = (v: unknown): v is CameraDroneLockMode => isMember(CAMERA_DRONE_LOCK_MODES, v);"; readonly kind: "VariableDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "isCameraDroneLockMode"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "const isCameraFilterId = (v: unknown): v is CameraFilterId => isMember(CAMERA_FILTER_IDS, v);"; readonly kind: "VariableDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "isCameraFilterId"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "const isCameraMediaMode = (v: unknown): v is CameraMediaMode => isMember(CAMERA_MEDIA_MODES, v);"; readonly kind: "VariableDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "isCameraMediaMode"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "const isCameraSessionState = (v: unknown): v is CameraSessionState => isMember(CAMERA_SESSION_STATES, v);"; readonly kind: "VariableDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "isCameraSessionState"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "const isCameraSpatialMode = (v: unknown): v is CameraSpatialMode => isMember(CAMERA_SPATIAL_MODES, v);"; readonly kind: "VariableDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "isCameraSpatialMode"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "const isCameraTimerSeconds = (v: unknown): v is CameraTimerSeconds => isMember(CAMERA_TIMER_SECONDS, v);"; readonly kind: "VariableDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "isCameraTimerSeconds"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export function isFinalRestBatch(m: EntityStateBatchMessage): boolean {\n if (!isFinalRestClaim(m.finalRest) || !finalRestId(m.finalRest.transactionId) ||\n m.moduleId !== m.finalRest.scope?.moduleId || !finalRestSequence(m.seq) || !Number.isFinite(m.tMs) ||\n !Array.isArray(m.states) || m.states.length === 0)\n return false;\n return m.states.every(s => finalRestId(s.e) && Number.isSafeInteger(s.ep) && (s.ep as number) >= 0 &&\n s.transactionId === m.finalRest!.transactionId &&\n [s.p, s.lv, s.av].every(v => Array.isArray(v) && v.length === 3 && v.every(Number.isFinite)) &&\n s.lv!.every(v => v === 0) && s.av!.every(v => v === 0) &&\n Array.isArray(s.q) && s.q.length === 4 && s.q.every(Number.isFinite) && Math.hypot(...s.q) > 1e-6 &&\n s.v === undefined);\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/multiplayer-contract/final-rest.ts"; }]; readonly kind: "value"; readonly name: "isFinalRestBatch"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export function isFinalRestClaim(v: unknown): v is {\n version: 1;\n requestId: number;\n group: string;\n scope?: FinalRestProvenance;\n} {\n if (!v || typeof v !== 'object')\n return false;\n const m = v as Record;\n return m.version === 1 && finalRestSequence(m.requestId) && finalRestId(m.group) && validFinalRestScope(m.scope);\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/multiplayer-contract/final-rest.ts"; }]; readonly kind: "value"; readonly name: "isFinalRestClaim"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type ItemEditionMode = 'standard' | 'collectible';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "ItemEditionMode"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface JoinRoomOptions {\n apiBaseUrl?: string;\n uploadHz?: number;\n reservationPath?: string;\n roomType?: string;\n ticket?: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer.ts"; }]; readonly kind: "type"; readonly name: "JoinRoomOptions"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface JoinVoiceOptions {\n roomId?: string;\n apiBaseUrl?: string;\n tokenPath?: string;\n pttKey?: string;\n channel?: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/voice.ts"; }]; readonly kind: "type"; readonly name: "JoinVoiceOptions"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type LeaderboardEntry = {\n subject: string;\n displayName: string;\n score: number;\n source: string;\n updatedAt: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "LeaderboardEntry"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type LeaderboardOrder = 'desc' | 'asc';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "LeaderboardOrder"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type LeaderboardPage = {\n entries: LeaderboardEntry[];\n truncated: boolean;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "LeaderboardPage"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type LeaderboardSubmitOptions = {\n order?: LeaderboardOrder;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "LeaderboardSubmitOptions"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type LeaderboardSubmitResult = {\n best: number | null;\n updated: boolean;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "LeaderboardSubmitResult"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type LeaderboardTopOptions = {\n limit?: number;\n order?: LeaderboardOrder;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "LeaderboardTopOptions"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type ListenAdmissionResult = {\n admitted: boolean;\n seatId?: string;\n joinerUserId?: string;\n reason?: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/index.ts"; }]; readonly kind: "type"; readonly name: "ListenAdmissionResult"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type ListenCloseResult = {\n closed: boolean;\n releasedSeatIds: string[];\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/index.ts"; }]; readonly kind: "type"; readonly name: "ListenCloseResult"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type ListenHeartbeatResult = {\n status: 'open' | 'closed';\n expiresAt: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/index.ts"; }]; readonly kind: "type"; readonly name: "ListenHeartbeatResult"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type ListenReleaseResult = {\n released: boolean;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/index.ts"; }]; readonly kind: "type"; readonly name: "ListenReleaseResult"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type MarketplaceListing = {\n listingId?: string;\n itemId: string;\n title: string;\n description?: string | null;\n priceLix: number;\n isFree: boolean;\n thumbnailUrl?: string | null;\n kind?: string;\n category?: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "MarketplaceListing"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type MarketplaceQuery = {\n kind?: string;\n category?: string;\n search?: string;\n limit?: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "MarketplaceQuery"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type MatchFound = {\n ticketId: string;\n instanceId: string;\n roomType: string;\n expiresAt: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/matchmaking.ts"; }]; readonly kind: "type"; readonly name: "MatchFound"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const MAX_MESSAGE_BYTES = 12288;"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "value"; readonly name: "MAX_MESSAGE_BYTES"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const MESSAGE_RATE = {\n stateHz: 10,\n abilityHz: 20,\n actionHz: 20,\n gestureHz: 5,\n attachmentsHz: 4,\n purchaseReceiptHz: 2,\n avatarRefreshHz: 1,\n emoteRefreshHz: 1,\n emoteJoinHz: 2,\n entityStateHz: 10,\n pingHz: 4,\n maxUploadHz: 20,\n} as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "value"; readonly name: "MESSAGE_RATE"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type ModeCapability = 'locomotion' | 'cameraControl' | 'defaultHud' | 'interaction';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "ModeCapability"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface ModeContext {\n readonly params: Record;\n readonly live: boolean;\n readonly covered: boolean;\n readonly aborted: boolean;\n setCamera(intent: CameraIntent | null): void;\n setInput(input: InputMap | null): void;\n onVerb(verb: string | typeof ANY_VERB, handler: VerbHandler): () => void;\n isVerbActive(verb: string): boolean;\n emit(event: string, payload?: unknown): void;\n release(result?: R): void;\n diag(patch: Record): void;\n clearDiag(...keys: string[]): void;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "ModeContext"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type ModeEndReason = 'released' | 'popped' | 'cleared' | 'error';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "ModeEndReason"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface ModeHost {\n setSuppression(effective: Required): void;\n applyCamera(intent: CameraIntent | null): void;\n setVerbs(input: InputMap | null, dispatch: VerbSink | null): void;\n reportDiag(modeId: string, patch: Record): void;\n onModeEvent?(modeId: string, event: string, payload: unknown): void;\n onError?(error: unknown, modeId: string, phase: ModePhase): void;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "ModeHost"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type ModePhase = 'enter' | 'exit' | 'update' | 'verb' | 'covered' | 'revealed';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "ModePhase"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface ModeResult {\n value?: R;\n reason: ModeEndReason;\n aborted: boolean;\n error?: unknown;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "ModeResult"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export class ModeStack {\n readonly #host: ModeHost;\n readonly #frames: Frame[] = [];\n readonly #sink: VerbSink = (verb, event) => this.dispatchVerb(verb, event);\n #disposed = false;\n #clearPromise: Promise | null = null;\n constructor(host: ModeHost) {\n this.#host = host;\n }\n get active(): InteractionMode | null {\n return this.#frames.at(-1)?.mode ?? null;\n }\n get depth(): number {\n return this.#frames.length;\n }\n get busy(): boolean {\n return this.#frames.some((frame) => frame.leaving);\n }\n has(id: string): boolean {\n return this.#frames.some((frame) => frame.mode.id === id);\n }\n async push(mode: InteractionMode, params: Record = {}, options: PushOptions = {}): Promise> {\n if (this.#disposed)\n return rejected(new Error('mode stack is disposed'));\n if (this.#clearPromise)\n return rejected(new Error('mode stack is clearing'));\n if (this.has(mode.id))\n return this.#reject(new Error(`mode '${mode.id}' is already on the stack`), mode.id);\n const owner = OWNERS.get(mode as unknown as InteractionMode);\n if (owner && owner !== this) {\n return this.#reject(new Error(`mode '${mode.id}' is already live on another stack`), mode.id);\n }\n const clash = this.#exclusiveClash(mode as InteractionMode);\n if (clash) {\n return this.#reject(new Error(`mode '${mode.id}' claims '${clash.cap}' already held by '${clash.byId}'`), mode.id);\n }\n if (mode.input) {\n const errors = validateInputMap(mode.input, mode.suppress);\n if (errors.length) {\n return this.#reject(new Error(`mode '${mode.id}' has an invalid input map: ${errors.join('; ')}`), mode.id);\n }\n }\n else if (mode.suppress.locomotion || mode.suppress.cameraControl) {\n return this.#reject(new Error(`mode '${mode.id}' suppresses locomotion or cameraControl without a cancel action`), mode.id);\n }\n const frame = this.#makeFrame(mode as InteractionMode, params, options as PushOptions);\n OWNERS.set(mode as unknown as InteractionMode, this);\n const below = this.#frames.at(-1);\n this.#frames.push(frame);\n if (below)\n this.#cover(below);\n this.#applySuppression();\n this.#applyTop();\n try {\n await mode.enter(frame.ctx as ModeContext);\n if (frame.settled) {\n await frame.done;\n return { ok: false, error: new Error(`mode '${mode.id}' left while entering`), done: frame.done as Promise> };\n }\n frame.entered = true;\n this.#applyTop();\n return { ok: true, done: frame.done as Promise> };\n }\n catch (error) {\n this.#fail(error, mode.id, 'enter');\n await this.#popFrame(frame, true, 'error', error);\n return { ok: false, error, done: frame.done as Promise> };\n }\n }\n async pop(id?: string, aborted = false): Promise {\n const frame = id === undefined\n ? this.#frames.at(-1)\n : [...this.#frames].reverse().find((candidate) => candidate.mode.id === id);\n if (!frame)\n return false;\n return this.#popFrame(frame, aborted, aborted ? 'cleared' : 'popped');\n }\n clear(aborted = true): Promise {\n if (this.#clearPromise)\n return this.#clearPromise;\n this.#clearPromise = this.#clearFrames(aborted).finally(() => {\n this.#clearPromise = null;\n });\n return this.#clearPromise;\n }\n update(dtSeconds: number): void {\n if (this.#disposed)\n return;\n const top = this.#frames.at(-1);\n for (const frame of [...this.#frames]) {\n if (frame.leaving || !frame.entered || !frame.mode.update)\n continue;\n if (frame !== top && !frame.mode.updateWhileCovered)\n continue;\n try {\n frame.mode.update(dtSeconds, frame.ctx);\n }\n catch (error) {\n this.#failAndPop(frame, error, 'update');\n }\n }\n }\n dispatchVerb(verb: string, event: VerbEvent): boolean {\n if (this.#disposed)\n return false;\n const frame = this.#frames.at(-1);\n if (!frame || frame.leaving || !frame.entered)\n return false;\n const binding = frame.input?.[verb];\n if (!binding) {\n this.#fail(new Error(`mode '${frame.mode.id}' received undeclared verb '${verb}'`), frame.mode.id, 'verb');\n return false;\n }\n if (binding.disabled)\n return false;\n if (event.phase === 'start')\n frame.activeVerbs.add(verb);\n if (event.phase === 'end')\n frame.activeVerbs.delete(verb);\n this.#invoke(frame, verb, event);\n return true;\n }\n async dispose(): Promise {\n if (this.#disposed)\n return this.#clearPromise ?? Promise.resolve();\n this.#disposed = true;\n await this.clear(true);\n }\n async #clearFrames(aborted: boolean): Promise {\n for (const frame of this.#frames)\n frame.leaving = true;\n this.#applyTop();\n while (this.#frames.length) {\n const frame = this.#frames.at(-1)!;\n if (frame.settled) {\n await frame.done;\n }\n else {\n await this.#popFrame(frame, aborted, 'cleared');\n }\n }\n }\n #reject(error: unknown, modeId: string): PushOutcome {\n this.#fail(error, modeId, 'enter');\n return rejected(error);\n }\n #exclusiveClash(mode: InteractionMode): {\n cap: ModeCapability;\n byId: string;\n } | null {\n for (const cap of EXCLUSIVE) {\n if (!mode.suppress[cap])\n continue;\n const holder = this.#frames.find((frame) => frame.mode.suppress[cap]);\n if (holder)\n return { cap, byId: holder.mode.id };\n }\n return null;\n }\n #applySuppression(): void {\n const effective: Required = {\n locomotion: false,\n cameraControl: false,\n defaultHud: false,\n interaction: false,\n };\n for (const frame of this.#frames) {\n for (const capability of Object.keys(effective) as ModeCapability[]) {\n if (frame.mode.suppress[capability])\n effective[capability] = true;\n }\n }\n this.#host.setSuppression(effective);\n }\n #applyTop(): void {\n const top = this.#frames.at(-1);\n const usable = top?.entered && !top.leaving ? top : null;\n if (!top || usable)\n this.#host.applyCamera(usable?.camera ?? null);\n this.#host.setVerbs(usable?.input ?? null, usable?.input ? this.#sink : null);\n }\n #cover(frame: Frame): void {\n if (frame.covered)\n return;\n frame.covered = true;\n this.#endHeldVerbs(frame);\n if (!frame.mode.onCovered)\n return;\n try {\n frame.mode.onCovered(frame.ctx);\n }\n catch (error) {\n this.#failAndPop(frame, error, 'covered');\n }\n }\n #reveal(frame: Frame): void {\n if (!frame.covered)\n return;\n frame.covered = false;\n if (!frame.mode.onRevealed)\n return;\n try {\n frame.mode.onRevealed(frame.ctx);\n }\n catch (error) {\n this.#failAndPop(frame, error, 'revealed');\n }\n }\n #endHeldVerbs(frame: Frame): void {\n const held = [...frame.activeVerbs];\n frame.activeVerbs.clear();\n for (const verb of held) {\n this.#invoke(frame, verb, { phase: 'end', value: 0, source: 'script' });\n }\n }\n #invoke(frame: Frame, verb: string, event: VerbEvent): void {\n const targets = [frame.handlers.get(verb), frame.handlers.get(ANY_VERB)];\n for (const handlers of targets) {\n if (!handlers)\n continue;\n for (const handler of [...handlers]) {\n try {\n handler(event, verb);\n }\n catch (error) {\n handlers.delete(handler);\n this.#failAndPop(frame, error, 'verb');\n return;\n }\n }\n }\n }\n #failAndPop(frame: Frame, error: unknown, phase: ModePhase): void {\n if (frame.leaving || frame.settled)\n return;\n this.#fail(error, frame.mode.id, phase);\n void this.#popFrame(frame, true, 'error', error);\n }\n async #popFrame(frame: Frame, aborted: boolean, reason: ModeEndReason, error?: unknown): Promise {\n if (!this.#frames.includes(frame) || frame.settled)\n return false;\n frame.settled = true;\n frame.leaving = true;\n frame.aborted = aborted;\n this.#endHeldVerbs(frame);\n this.#applyTop();\n let endReason = reason;\n let failure = error;\n try {\n await frame.mode.exit(frame.ctx);\n }\n catch (exitError) {\n this.#fail(exitError, frame.mode.id, 'exit');\n if (failure === undefined)\n failure = exitError;\n endReason = 'error';\n }\n const at = this.#frames.indexOf(frame);\n if (at >= 0)\n this.#frames.splice(at, 1);\n OWNERS.delete(frame.mode as unknown as InteractionMode);\n frame.handlers.clear();\n frame.activeVerbs.clear();\n this.#host.reportDiag(frame.mode.id, { active: false });\n this.#applySuppression();\n this.#applyTop();\n const next = this.#frames.at(-1);\n if (next && !next.leaving)\n this.#reveal(next);\n const result: ModeResult = {\n reason: endReason,\n aborted,\n ...(frame.result ? { value: frame.result.value } : {}),\n ...(failure !== undefined ? { error: failure } : {}),\n };\n frame.settle(result);\n try {\n frame.options.onResult?.(result);\n }\n catch (callbackError) {\n this.#fail(callbackError, frame.mode.id, 'exit');\n }\n return true;\n }\n #makeFrame(mode: InteractionMode, params: Record, options: PushOptions): Frame {\n let settle: (result: ModeResult) => void = () => undefined;\n const done = new Promise>((resolve) => {\n settle = resolve;\n });\n const frame: Frame = {\n mode,\n params,\n diagState: {},\n camera: mode.camera ?? null,\n input: mode.input ?? null,\n handlers: new Map(),\n activeVerbs: new Set(),\n entered: false,\n leaving: false,\n settled: false,\n aborted: false,\n covered: false,\n result: null,\n options,\n settle,\n done,\n ctx: null as unknown as ModeContext,\n };\n frame.ctx = this.#makeContext(frame);\n return frame;\n }\n #makeContext(frame: Frame): ModeContext {\n const stack = this;\n return {\n params: frame.params,\n get live() {\n return stack.#frames.includes(frame);\n },\n get covered() {\n return frame.covered;\n },\n get aborted() {\n return frame.aborted;\n },\n setCamera(intent: CameraIntent | null): void {\n frame.camera = intent;\n if (stack.#frames.at(-1) === frame && frame.entered && !frame.leaving) {\n stack.#host.applyCamera(frame.camera);\n }\n },\n setInput(input: InputMap | null): void {\n if (input) {\n const errors = validateInputMap(input, frame.mode.suppress);\n if (errors.length) {\n const error = new Error(`setInput rejected for '${frame.mode.id}': ${errors.join('; ')}`);\n stack.#failAndPop(frame, error, 'verb');\n return;\n }\n }\n else if (frame.mode.suppress.locomotion || frame.mode.suppress.cameraControl) {\n const error = new Error(`setInput rejected for '${frame.mode.id}': exclusive suppression requires cancel`);\n stack.#failAndPop(frame, error, 'verb');\n return;\n }\n for (const verb of [...frame.activeVerbs]) {\n if (!input?.[verb]) {\n frame.activeVerbs.delete(verb);\n stack.#invoke(frame, verb, { phase: 'end', value: 0, source: 'script' });\n }\n }\n frame.input = input;\n if (stack.#frames.at(-1) === frame && frame.entered && !frame.leaving) {\n stack.#host.setVerbs(frame.input, frame.input ? stack.#sink : null);\n }\n },\n onVerb(verb: string, handler: VerbHandler): () => void {\n const handlers = frame.handlers.get(verb) ?? new Set();\n frame.handlers.set(verb, handlers);\n handlers.add(handler);\n return () => handlers.delete(handler);\n },\n isVerbActive(verb: string): boolean {\n return frame.activeVerbs.has(verb);\n },\n emit(event: string, payload?: unknown): void {\n try {\n frame.options.onEvent?.(event, payload);\n stack.#host.onModeEvent?.(frame.mode.id, event, payload);\n }\n catch (callbackError) {\n stack.#failAndPop(frame, callbackError, 'update');\n }\n },\n release(value?: unknown): void {\n frame.result = { value };\n if (!stack.#frames.includes(frame) || frame.leaving)\n return;\n void stack.#popFrame(frame, false, 'released');\n },\n diag(patch: Record): void {\n for (const [key, value] of Object.entries(patch)) {\n if (value === undefined)\n delete frame.diagState[key];\n else\n frame.diagState[key] = value;\n }\n stack.#host.reportDiag(frame.mode.id, {\n active: stack.#frames.includes(frame),\n ...frame.diagState,\n });\n },\n clearDiag(...keys: string[]): void {\n if (keys.length) {\n for (const key of keys)\n delete frame.diagState[key];\n }\n else {\n for (const key of Object.keys(frame.diagState))\n delete frame.diagState[key];\n }\n stack.#host.reportDiag(frame.mode.id, {\n active: stack.#frames.includes(frame),\n ...frame.diagState,\n });\n },\n };\n }\n #fail(error: unknown, modeId: string, phase: ModePhase): void {\n this.#host.onError?.(error, modeId, phase);\n this.#host.reportDiag(modeId, { error: String(error), phase });\n }\n}"; readonly kind: "ClassDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "value_and_type"; readonly name: "ModeStack"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const MODULE_FINAL_REST_SNAPSHOT = '__helix:moduleFinalRestSnapshot';"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/final-rest.ts"; }]; readonly kind: "value"; readonly name: "MODULE_FINAL_REST_SNAPSHOT"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface ModuleAccessors {\n readonly moduleId: string;\n vars: VarsView;\n me: VarsView;\n player(id: string): VarsView;\n entity(id: string): VarsView;\n phase(): string;\n timerDeadline(name: string, key?: string): number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-accessors.ts"; }]; readonly kind: "type"; readonly name: "ModuleAccessors"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface ModuleActionRequest {\n identity: ModuleIdentity;\n action: string;\n args?: Record;\n engagement?: 'acquire' | 'release';\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/universal-vehicles.ts"; }]; readonly kind: "type"; readonly name: "ModuleActionRequest"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface ModuleEffect {\n moduleId: string;\n commandId: string;\n index: number;\n serverTick: number;\n event: string;\n payload: Readonly>;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/universal-vehicles.ts"; }]; readonly kind: "type"; readonly name: "ModuleEffect"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface ModuleEffectMessage {\n moduleId: string;\n commandId: string;\n index: number;\n serverTick: number;\n event: string;\n payload: Record;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "ModuleEffectMessage"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface ModuleEngagementMessage {\n moduleId: string;\n action: string;\n status: ModuleEngagementStatus;\n requestId?: number;\n epoch?: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "ModuleEngagementMessage"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type ModuleEngagementStatus = 'granted' | 'denied' | 'released' | 'revoked';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "ModuleEngagementStatus"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface ModuleFusedMessage {\n moduleId: string;\n serverTick: number;\n tickNodes: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "ModuleFusedMessage"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface ModuleIdentity {\n itemInstanceId?: string;\n moduleId: string;\n bundleChecksumSha256: string;\n revision: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/universal-vehicles.ts"; }]; readonly kind: "type"; readonly name: "ModuleIdentity"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface ModuleSleepMessage {\n moduleId: string;\n serverTick: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "ModuleSleepMessage"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface ModuleState {\n roomVars: RoomVars;\n players: Record;\n entities: Record;\n phase: string;\n phaseStartTick: number;\n timerDeadlines: Record;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/room.ts"; }]; readonly kind: "type"; readonly name: "ModuleState"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface ModuleStateSnapshot {\n moduleId: string;\n revision: number;\n phase: string;\n serverTick: number;\n roomVars: Readonly>;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/universal-vehicles.ts"; }]; readonly kind: "type"; readonly name: "ModuleStateSnapshot"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface ModuleWakeMessage {\n moduleId: string;\n reason: ModuleWakeReason;\n serverTick: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "ModuleWakeMessage"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type ModuleWakeReason = 'always-on' | 'proximity' | 'engagement' | 'action' | 'import' | 'module' | 'external';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "ModuleWakeReason"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const MOVEMENT_GATE = {\n toleranceMul: 1.25,\n ownerEntityToleranceMul: 3.0,\n maxCatchupMs: 300,\n impulseMul: 6,\n graceMs: 250,\n} as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "value"; readonly name: "MOVEMENT_GATE"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export function nearestLensPreset(zoom: number): CameraLensPreset {\n const clamped = clampCameraZoom(zoom);\n let best: CameraLensPreset = CAMERA_LENS_PRESETS[0];\n let bestDistance = Number.POSITIVE_INFINITY;\n for (const preset of CAMERA_LENS_PRESETS) {\n const distance = Math.abs(preset - clamped);\n if (distance < bestDistance) {\n best = preset;\n bestDistance = distance;\n }\n }\n return best;\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "nearestLensPreset"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export function normaliseTouch(touch: TouchPresentation): TouchPresentation {\n return touch;\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "value"; readonly name: "normaliseTouch"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export function normalizeCameraCapability(raw: unknown): HelixCameraCapability | null {\n if (!isRecord(raw))\n return null;\n const flags = [\n 'photo',\n 'video',\n 'drone',\n 'twoHandPose',\n 'focusPoint',\n 'exposureBias',\n 'worldAudio',\n ] as const;\n for (const flag of flags)\n if (typeof raw[flag] !== 'boolean')\n return null;\n if (raw.unavailableReason !== undefined && typeof raw.unavailableReason !== 'string') {\n return null;\n }\n return {\n photo: raw.photo as boolean,\n video: raw.video as boolean,\n drone: raw.drone as boolean,\n twoHandPose: raw.twoHandPose as boolean,\n focusPoint: raw.focusPoint as boolean,\n exposureBias: raw.exposureBias as boolean,\n worldAudio: raw.worldAudio as boolean,\n ...(raw.unavailableReason !== undefined\n ? { unavailableReason: raw.unavailableReason as string }\n : {}),\n };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "normalizeCameraCapability"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export function normalizeCameraState(raw: unknown): HelixCameraState | null {\n if (!isRecord(raw))\n return null;\n if (!isCameraSessionState(raw.session) ||\n !isCameraMediaMode(raw.media) ||\n !isCameraSpatialMode(raw.spatial) ||\n !isCameraControlTarget(raw.controlTarget) ||\n !isCameraFilterId(raw.filter) ||\n !isCameraTimerSeconds(raw.timerSeconds)) {\n return null;\n }\n if (!finite(raw.zoom) || raw.zoom < CAMERA_MIN_ZOOM || raw.zoom > CAMERA_MAX_ZOOM)\n return null;\n const aim = normalizeAim(raw.aim);\n const shutter = normalizeShutter(raw.shutter);\n const capability = normalizeCameraCapability(raw.capability);\n if (!aim || !shutter || !capability)\n return null;\n let focusPoint: CameraFocusPoint | undefined;\n if (raw.focusPoint !== undefined) {\n const parsed = normalizeFocusPoint(raw.focusPoint);\n if (!parsed)\n return null;\n focusPoint = parsed;\n }\n if (raw.exposureBias !== undefined && !finite(raw.exposureBias))\n return null;\n let drone: HelixCameraDroneState | undefined;\n if (raw.drone !== undefined) {\n const parsed = normalizeDroneState(raw.drone);\n if (!parsed)\n return null;\n drone = parsed;\n }\n if (raw.session === 'drone' && !drone)\n return null;\n return {\n session: raw.session,\n media: raw.media,\n spatial: raw.spatial,\n controlTarget: raw.controlTarget,\n lens: nearestLensPreset(raw.zoom),\n zoom: raw.zoom,\n filter: raw.filter,\n timerSeconds: raw.timerSeconds,\n aim,\n shutter,\n capability,\n ...(focusPoint ? { focusPoint } : {}),\n ...(raw.exposureBias !== undefined ? { exposureBias: raw.exposureBias } : {}),\n ...(drone ? { drone } : {}),\n };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "normalizeCameraState"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export function normalizeDeviceTrialSpawn(session: HelixSession | null, now: () => number = Date.now): DeviceTrialSpawn | null {\n const trial = session?.trial;\n const raw: unknown = trial?.spawnedItem;\n if (trial?.kind !== 'device' ||\n !record(raw) ||\n !UUID.test(trial.id) ||\n !UUID.test(trial.itemId) ||\n !Number.isSafeInteger(trial.expiresAt) ||\n now() >= trial.expiresAt * 1000 ||\n [...FORBIDDEN_FIELDS].some((field) => field in raw) ||\n raw.kind !== 'device' ||\n raw.placementId !== trial.id ||\n raw.itemId !== trial.itemId ||\n raw.expiresAt !== trial.expiresAt ||\n typeof raw.name !== 'string' ||\n raw.name.length === 0 ||\n raw.name.length > 256 ||\n !servableAssetUrl(raw.modelUrl) ||\n !validTransform(raw.transform) ||\n !record(raw.deviceDefinition) ||\n typeof raw.deviceDefinition.id !== 'string' ||\n raw.deviceDefinition.id.length === 0 ||\n typeof raw.deviceDefinition.version !== 'string' ||\n raw.deviceDefinition.version.length === 0 ||\n !record(raw.functionalPin) ||\n typeof raw.functionalPin.continuumPackageId !== 'string' ||\n !UUID.test(raw.functionalPin.continuumPackageId) ||\n typeof raw.functionalPin.continuumPackageVersion !== 'string' ||\n raw.functionalPin.continuumPackageVersion.length === 0 ||\n raw.functionalPin.continuumPackageVersion.length > 64 ||\n typeof raw.functionalPin.continuumManifestCid !== 'string' ||\n !CONTINUUM_CID.test(raw.functionalPin.continuumManifestCid) ||\n !record(raw.composition)) {\n return null;\n }\n const projection = normalizeSealedDeviceDefinitionProjection({\n definition: raw.definition,\n definitionChecksumSha256: raw.definitionChecksumSha256,\n expiresAtEpochSeconds: trial.expiresAt,\n pin: {\n packageId: raw.functionalPin.continuumPackageId,\n version: raw.functionalPin.continuumPackageVersion,\n manifestCid: raw.functionalPin.continuumManifestCid,\n },\n });\n if (projection === null ||\n projection.definition.id !== raw.deviceDefinition.id ||\n projection.definition.version !== raw.deviceDefinition.version) {\n return null;\n }\n try {\n const transform = raw.transform as {\n position: [\n number,\n number,\n number\n ];\n yawDeg: number;\n scale: number;\n };\n return deepFreeze({\n placementId: trial.id,\n itemId: trial.itemId,\n kind: 'device',\n name: raw.name,\n modelUrl: raw.modelUrl as string | null,\n transform: {\n position: [...transform.position] as [\n number,\n number,\n number\n ],\n yawDeg: transform.yawDeg,\n scale: transform.scale,\n },\n expiresAt: trial.expiresAt,\n deviceDefinition: {\n id: projection.definition.id,\n version: projection.definition.version,\n },\n definition: projection.definition,\n definitionChecksumSha256: projection.definitionChecksumSha256,\n functionalPin: {\n continuumPackageId: projection.pin.packageId,\n continuumPackageVersion: projection.pin.version,\n continuumManifestCid: projection.pin.manifestCid,\n },\n composition: jsonSnapshot(raw.composition),\n });\n }\n catch {\n return null;\n }\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/device-trial.ts"; }]; readonly kind: "value"; readonly name: "normalizeDeviceTrialSpawn"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export function normalizeRuntimeFidelityIntent(value: unknown): RuntimeFidelityIntent | null {\n if (!value || typeof value !== 'object')\n return null;\n const candidate = value as Record;\n if (Object.keys(candidate).length !== 4 ||\n candidate.version !== RUNTIME_FIDELITY_VERSION ||\n !RUNTIME_FIDELITY_VISUAL_TIERS.includes(candidate.requestedVisualTier as RuntimeFidelityVisualTier) ||\n !(candidate.renderScaleOverride === null ||\n RUNTIME_FIDELITY_RENDER_SCALES.includes(candidate.renderScaleOverride as RuntimeFidelityRenderScale)) ||\n !(candidate.runtimeProfileQuality === null ||\n RUNTIME_PROFILE_QUALITIES.includes(candidate.runtimeProfileQuality as RuntimeProfileQuality))) {\n return null;\n }\n return {\n version: RUNTIME_FIDELITY_VERSION,\n requestedVisualTier: candidate.requestedVisualTier as RuntimeFidelityVisualTier,\n renderScaleOverride: candidate.renderScaleOverride as RuntimeFidelityRenderScale | null,\n runtimeProfileQuality: candidate.runtimeProfileQuality as RuntimeProfileQuality | null,\n };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "value"; readonly name: "normalizeRuntimeFidelityIntent"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export function normalizeSealedDeviceDefinitionProjection(value: unknown): SealedDeviceDefinitionProjection | null {\n try {\n assertProjectionEnvelope(value as SealedDeviceDefinitionProjection);\n const projection = value as SealedDeviceDefinitionProjection;\n const canonical = canonicalJson(projection.definition);\n const definition = JSON.parse(canonical) as DeviceDefinitionV1;\n if (definition.format !== 'helix.device' ||\n definition.formatVersion !== 1 ||\n typeof definition.id !== 'string' ||\n definition.id.length === 0 ||\n typeof definition.version !== 'string' ||\n definition.version.length === 0) {\n return null;\n }\n return deepFreeze({\n definition,\n definitionChecksumSha256: projection.definitionChecksumSha256.toLowerCase(),\n expiresAtEpochSeconds: projection.expiresAtEpochSeconds,\n pin: {\n packageId: projection.pin.packageId,\n version: projection.pin.version,\n manifestCid: projection.pin.manifestCid,\n },\n });\n }\n catch {\n return null;\n }\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/device-definition-resolver.ts"; }]; readonly kind: "value"; readonly name: "normalizeSealedDeviceDefinitionProjection"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export interface PackageCustomizerContext {\n readonly source: PackageCustomizerSource | null;\n readonly subject: PackageCustomizerSubject | null;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "PackageCustomizerContext"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type PackageCustomizerSource = Readonly<{\n kind: 'trial';\n hostId: string;\n itemId: string;\n}>;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "PackageCustomizerSource"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type PackageCustomizerSubject = {\n readonly kind: 'package';\n readonly hostKind: string;\n readonly hostId: string;\n readonly packageId: string;\n readonly version: string;\n readonly renditions: readonly Readonly<{\n id: string;\n url: string;\n }>[];\n readonly board: Readonly<{\n id: string;\n }>;\n readonly assignments: Readonly>;\n readonly hiddenSlotIds?: readonly string[];\n readonly equipBoard: Readonly>;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "PackageCustomizerSubject"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type Party = {\n id: string;\n leaderId: string;\n maxSize: number;\n members: PartyMember[];\n code?: PartyCode;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/matchmaking.ts"; }]; readonly kind: "type"; readonly name: "Party"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type PartyCode = {\n code: string;\n expiresAt: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/matchmaking.ts"; }]; readonly kind: "type"; readonly name: "PartyCode"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type PartyInvite = {\n id: string;\n partyId: string;\n from: PartyMember;\n expiresAt: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/matchmaking.ts"; }]; readonly kind: "type"; readonly name: "PartyInvite"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type PartyInviteReceipt = {\n inviteId: string;\n expiresAt: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/matchmaking.ts"; }]; readonly kind: "type"; readonly name: "PartyInviteReceipt"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type PartyMember = {\n userId: string;\n displayName: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/matchmaking.ts"; }]; readonly kind: "type"; readonly name: "PartyMember"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type PartyState = {\n party: Party | null;\n invites: PartyInvite[];\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/matchmaking.ts"; }]; readonly kind: "type"; readonly name: "PartyState"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface PingMessage {\n clientTimeMs: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "PingMessage"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface PlayerIdentity {\n id: string;\n displayName: string;\n userId: string;\n avatarUrl: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/state.ts"; }]; readonly kind: "type"; readonly name: "PlayerIdentity"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface PlayerReplicaState {\n position: Vec3;\n facingYawDeg: number;\n speed: number;\n moveDirectionDeg: number;\n verticalVelocity: number;\n grounded: boolean;\n crouched: boolean;\n ragdolled: boolean;\n ragdollLaunchX: number;\n ragdollLaunchZ: number;\n ragdollSpeedMps: number;\n aimYawDeg: number;\n aimPitchDeg: number;\n activeAbilities: string[];\n loopGesture: string;\n attachments: AttachmentEntry[];\n reachLeftActive: boolean;\n reachLeft: Vec3;\n reachRightActive: boolean;\n reachRight: Vec3;\n lookTargetActive: boolean;\n lookTarget: Vec3;\n shotSeq?: number;\n gunDrawn?: boolean;\n aiming?: boolean;\n reloading?: boolean;\n emotes?: EmoteEntry[];\n locomotionPack?: string;\n pairInitiator: string;\n pairSlot: string;\n pairStartMs: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/state.ts"; }]; readonly kind: "type"; readonly name: "PlayerReplicaState"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface PlayerState extends PlayerIdentity, PlayerReplicaState {\n vars: RoomVars;\n connected: boolean;\n active: boolean;\n posT: number;\n avatarRevision: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/room.ts"; }]; readonly kind: "type"; readonly name: "PlayerState"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface PongMessage {\n finalRestVersion?: 1;\n moduleFinalRestVersion?: 1;\n finalRestModules?: Record;\n clientTimeMs: number;\n serverTimeMs: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "PongMessage"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type ProductGrant = {\n kind: 'item';\n itemId: string;\n quantity?: number;\n} | {\n kind: 'pass';\n passKey?: string;\n durationSeconds?: number;\n} | {\n kind: 'currency';\n code: string;\n amount: number;\n display?: 'wallet' | 'uses';\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "ProductGrant"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type PurchaseContext = {\n ref: string;\n title: string;\n description: string | null;\n thumbnailUrl: string | null;\n priceLix: number;\n isFree: boolean;\n balanceLix: number;\n balanceAfterLix: number;\n owned: boolean;\n ownedCount: number;\n maxPerPlayer?: number | null;\n maxPerUser?: number | null;\n eligible: boolean;\n eligibilityStatus: PurchaseStatus | null;\n quantity?: number;\n unitPriceLix?: number;\n totalPriceLix?: number;\n editionMode?: ItemEditionMode;\n supply?: number | null;\n minted?: number | null;\n remaining?: number | null;\n serialNumber?: number | null;\n distributionId?: string | null;\n listingId?: string | null;\n creatorName?: string | null;\n sellerName?: string | null;\n maxClaims?: number | null;\n startsAt?: string | null;\n endsAt?: string | null;\n verificationLevel?: AccountVerificationLevel;\n requiredVerificationLevel?: AccountVerificationLevel | null;\n resaleEligibleAt?: string | null;\n holdUntil?: string | null;\n grants?: ProductGrant[];\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "PurchaseContext"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type PurchaseOptions = {\n quantity?: number;\n idempotencyKey?: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "PurchaseOptions"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface PurchaseReceiptMessage {\n receipt: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "PurchaseReceiptMessage"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type PurchaseResult = {\n status: PurchaseStatus;\n completed: boolean;\n reason?: string;\n itemId?: string | null;\n balanceAfterLix?: number;\n priceLix?: number;\n balanceLix?: number;\n shortfallLix?: number;\n ownedCount?: number;\n maxPerPlayer?: number | null;\n maxPerUser?: number | null;\n requestedQuantity?: number;\n fulfilledQuantity?: number;\n distributionId?: string | null;\n listingId?: string | null;\n inventoryInstanceIds?: string[];\n serialNumbers?: number[];\n resaleEligibleAt?: string | null;\n receipt?: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "PurchaseResult"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type PurchaseStatus = 'Pending' | 'Granted' | 'Claimed' | 'AlreadyOwned' | 'InsufficientFunds' | 'MaxPerUserReached' | 'ProductInactive' | 'ProductNotFound' | 'NotInWorld' | 'Unauthorized' | 'RateLimited' | 'Cancelled' | 'Failed' | 'Timeout' | 'NotFound' | 'PriceChanged';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "PurchaseStatus"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface PushOptions {\n onResult?(result: ModeResult): void;\n onEvent?(event: string, payload: unknown): void;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "PushOptions"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface PushOutcome {\n ok: boolean;\n error?: unknown;\n done: Promise>;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "PushOutcome"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type Quat = {\n x: number;\n y: number;\n z: number;\n w: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer-contract/state.ts"; }]; readonly kind: "type"; readonly name: "Quat"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type QueueEndReason = 'cancelled' | 'timeout' | 'heartbeat-lapsed' | 'member-absent' | 'party-changed' | 'build-changed' | 'queue-removed' | 'replaced' | 'ended' | 'heartbeat-lost' | 'match-expired' | 'refused' | 'session-changed' | 'left';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/matchmaking.ts"; }]; readonly kind: "type"; readonly name: "QueueEndReason"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type QueueStatus = {\n status: 'none' | 'waiting' | 'matched';\n queueId?: string;\n waiting?: QueueWaiting;\n match?: MatchFound;\n reason?: QueueEndReason;\n serverReason?: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/matchmaking.ts"; }]; readonly kind: "type"; readonly name: "QueueStatus"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type QueueWaiting = {\n players: number;\n needed: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/matchmaking.ts"; }]; readonly kind: "type"; readonly name: "QueueWaiting"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const RECEIPT_LIMITS = {\n maxReceiptLength: 4096,\n} as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "value"; readonly name: "RECEIPT_LIMITS"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type ReplicaInput = Omit;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer.ts"; }]; readonly kind: "type"; readonly name: "ReplicaInput"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const RESERVED_MESSAGE_TYPES = ['state', 'ability', 'action', 'gesture', 'attachments', 'purchaseReceipt', 'avatarRefresh', 'emoteRefresh', 'emoteJoin', 'entityState', 'entityStateBatch', 'ping', 'pong', 'stateAck', 'entityStateAck', 'groupRestSnapshot', 'moduleFused', 'moduleWake', 'moduleSleep', 'moduleEngagement', 'moduleEffect'] as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "value"; readonly name: "RESERVED_MESSAGE_TYPES"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type ResolvedHelixMaterial = HelixMaterialDefinition & {\n maps?: HelixMaterialMapPaths;\n resolutions?: Record;\n resolution?: {\n key: string;\n pixels: number | null;\n available: string[];\n };\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/materials.ts"; }]; readonly kind: "type"; readonly name: "ResolvedHelixMaterial"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const ROOM_CREDENTIAL_AUDIENCE = 'helix-instant-room' as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/credential.ts"; }]; readonly kind: "value"; readonly name: "ROOM_CREDENTIAL_AUDIENCE"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface RoomAccessors {\n vars: VarsView;\n me: VarsView;\n player(id: string): VarsView;\n phase(): string;\n currentTurn(): string;\n isMyTurn(): boolean;\n module(moduleId: string): ModuleAccessors;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-accessors.ts"; }]; readonly kind: "type"; readonly name: "RoomAccessors"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface RoomCredentialClaims {\n sub: string;\n displayName: string;\n avatarUrl?: string | null;\n worldId: string;\n buildId: string;\n baseBuildId?: string;\n scopes: string[];\n maxPlayers: number;\n buildNumber: number;\n configUrl: string;\n trial?: RoomTrialClaim;\n roomType?: string;\n instanceKey?: string;\n roomInit?: Record;\n playerInit?: Record;\n aud: typeof ROOM_CREDENTIAL_AUDIENCE;\n iss: string;\n exp: number;\n iat: number;\n jti: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/credential.ts"; }]; readonly kind: "type"; readonly name: "RoomCredentialClaims"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type RoomInitValue = number | boolean | string;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer-contract/credential.ts"; }]; readonly kind: "type"; readonly name: "RoomInitValue"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface RoomState {\n players: Record;\n roomVars: RoomVars;\n entities: Record;\n serverTick: number;\n serverTimeMs: number;\n phase: string;\n phaseStartTick: number;\n timerDeadlines: Record;\n modules?: Record;\n dynamicModules?: Record;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/room.ts"; }]; readonly kind: "type"; readonly name: "RoomState"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface RoomTicket {\n roomType: string;\n ticketId: string;\n instanceId: string;\n expiresAt: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer.ts"; }]; readonly kind: "type"; readonly name: "RoomTicket"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface RoomTicketMessage {\n roomType: string;\n ticketId: string;\n instanceId: string;\n expiresAt: string | number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "RoomTicketMessage"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface RoomTrialClaim {\n id: string;\n itemId: string;\n kind: 'avatar' | 'vehicle';\n expiresAt: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/credential.ts"; }]; readonly kind: "type"; readonly name: "RoomTrialClaim"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type RoomVarCollection = number[] | string[] | boolean[] | RoomVarRecord[] | Record;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer-contract/room.ts"; }]; readonly kind: "type"; readonly name: "RoomVarCollection"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type RoomVarRecord = Record;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer-contract/room.ts"; }]; readonly kind: "type"; readonly name: "RoomVarRecord"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type RoomVars = Record;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer-contract/room.ts"; }]; readonly kind: "type"; readonly name: "RoomVars"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type RoomVarValue = number | string | boolean | Vec3 | null | RoomVarCollection;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer-contract/room.ts"; }]; readonly kind: "type"; readonly name: "RoomVarValue"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "const RUNTIME_FIDELITY_RENDER_SCALES = ['1.5', '1', '0.77', '0.59'] as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "value"; readonly name: "RUNTIME_FIDELITY_RENDER_SCALES"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "const RUNTIME_FIDELITY_VERSION = 1 as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "value"; readonly name: "RUNTIME_FIDELITY_VERSION"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "const RUNTIME_FIDELITY_VISUAL_TIERS = [\n 'auto',\n 'minimal',\n 'low',\n 'medium',\n 'high',\n 'ultra',\n] as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "value"; readonly name: "RUNTIME_FIDELITY_VISUAL_TIERS"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "const RUNTIME_PROFILE_QUALITIES = ['minimum', 'balanced', 'high', 'ultra'] as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "value"; readonly name: "RUNTIME_PROFILE_QUALITIES"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type RuntimeFidelityIntent = {\n version: typeof RUNTIME_FIDELITY_VERSION;\n requestedVisualTier: RuntimeFidelityVisualTier;\n renderScaleOverride: RuntimeFidelityRenderScale | null;\n runtimeProfileQuality: RuntimeProfileQuality | null;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "RuntimeFidelityIntent"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type RuntimeFidelityRenderScale = (typeof RUNTIME_FIDELITY_RENDER_SCALES)[number];"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "RuntimeFidelityRenderScale"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type RuntimeFidelityVisualTier = (typeof RUNTIME_FIDELITY_VISUAL_TIERS)[number];"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "RuntimeFidelityVisualTier"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type RuntimeProfileQuality = (typeof RUNTIME_PROFILE_QUALITIES)[number];"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "RuntimeProfileQuality"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const sameFinalRestScope = (a?: FinalRestProvenance, b?: FinalRestProvenance): boolean => a?.moduleId === b?.moduleId && a?.generation === b?.generation && a?.engagementEpoch === b?.engagementEpoch;"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/final-rest.ts"; }]; readonly kind: "value"; readonly name: "sameFinalRestScope"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "export type SavedPhoto = {\n assetId: string;\n url: string;\n thumbnailUrl: string;\n worldName: string;\n createdAt: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "type"; readonly name: "SavedPhoto"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface SealedDeviceDefinitionPin {\n packageId: string;\n version: string;\n manifestCid: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/device-definition-resolver.ts"; }]; readonly kind: "type"; readonly name: "SealedDeviceDefinitionPin"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface SealedDeviceDefinitionProjection {\n definition: DeviceDefinitionV1;\n definitionChecksumSha256: string;\n expiresAtEpochSeconds: number;\n pin: SealedDeviceDefinitionPin;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/device-definition-resolver.ts"; }]; readonly kind: "type"; readonly name: "SealedDeviceDefinitionProjection"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface SealedDeviceDefinitionResolver extends WorldDeviceDefinitionResolver {\n dispose(): void;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/device-definition-resolver.ts"; }]; readonly kind: "type"; readonly name: "SealedDeviceDefinitionResolver"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface SealedDeviceDefinitionResolverOptions {\n sha256?: (bytes: ArrayBuffer) => Promise;\n now?: () => number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/device-definition-resolver.ts"; }]; readonly kind: "type"; readonly name: "SealedDeviceDefinitionResolverOptions"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface ServerMessagePayloads {\n [ServerMessageType.Pong]: PongMessage;\n [ServerMessageType.StateAck]: StateAckMessage;\n [ServerMessageType.EntityStateAck]: EntityStateAckMessage;\n [ServerMessageType.Gesture]: GestureEventMessage;\n [ServerMessageType.GroupRestSnapshot]: GroupRestSnapshotMessage;\n [ServerMessageType.ModuleFused]: ModuleFusedMessage;\n [ServerMessageType.ModuleWake]: ModuleWakeMessage;\n [ServerMessageType.ModuleSleep]: ModuleSleepMessage;\n [ServerMessageType.ModuleEngagement]: ModuleEngagementMessage;\n [ServerMessageType.ModuleEffect]: ModuleEffectMessage;\n [ServerMessageType.VehicleEntityRetired]: VehicleEntityRetiredMessage;\n [ServerMessageType.VehicleActionFences]: VehicleActionFencesMessage;\n [ServerMessageType.RoomTicket]: RoomTicketMessage;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "ServerMessagePayloads"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const ServerMessageType = {\n Pong: 'pong',\n StateAck: 'stateAck',\n EntityStateAck: 'entityStateAck',\n Gesture: 'gesture',\n GroupRestSnapshot: 'groupRestSnapshot',\n ModuleFused: 'moduleFused',\n ModuleWake: 'moduleWake',\n ModuleSleep: 'moduleSleep',\n ModuleEngagement: 'moduleEngagement',\n ModuleEffect: 'moduleEffect',\n VehicleEntityRetired: '__helix:vehicleEntityRetired',\n VehicleActionFences: '__helix:vehicleActionFences',\n RoomTicket: 'helix:room-ticket',\n} as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }, { readonly declaration: "export type ServerMessageType = (typeof ServerMessageType)[keyof typeof ServerMessageType];"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "value_and_type"; readonly name: "ServerMessageType"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type StandardModeAction = 'move' | 'look' | 'primary' | 'secondary' | 'tertiary' | 'cancel';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "StandardModeAction"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface StateAckMessage {\n seq: number;\n position: Vec3;\n teleportSeq?: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "StateAckMessage"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface StateMessage {\n seq: number;\n position: Vec3;\n facingYawDeg: number;\n speed: number;\n moveDirectionDeg: number;\n verticalVelocity: number;\n grounded: boolean;\n crouched: boolean;\n ragdolled?: boolean;\n ragdollLaunchX?: number;\n ragdollLaunchZ?: number;\n ragdollSpeedMps?: number;\n aimYawDeg: number;\n aimPitchDeg: number;\n tMs?: number;\n teleportSeq?: number;\n reachLeft?: Vec3;\n reachRight?: Vec3;\n lookTarget?: Vec3;\n shotSeq?: number;\n gunDrawn?: boolean;\n aiming?: boolean;\n reloading?: boolean;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "StateMessage"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface Suppression {\n locomotion?: boolean;\n cameraControl?: boolean;\n defaultHud?: boolean;\n interaction?: boolean;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "Suppression"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type SwitchRoomOptions = Omit;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer.ts"; }]; readonly kind: "type"; readonly name: "SwitchRoomOptions"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type SwitchRoomTarget = {\n ticket: string;\n} | {\n roomType?: string;\n preferInstanceId?: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer.ts"; }]; readonly kind: "type"; readonly name: "SwitchRoomTarget"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type TouchBinding = TouchPresentation;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "TouchBinding"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type TouchKind = TouchPresentationKind;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "TouchKind"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface TouchPresentation {\n kind: TouchPresentationKind;\n zone: TouchPresentationZone;\n group?: string;\n order?: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "TouchPresentation"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type TouchPresentationKind = 'button' | 'drag' | 'tap' | 'hold' | 'stick' | 'none';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "TouchPresentationKind"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type TouchPresentationZone = 'surface' | 'primary' | 'secondary' | 'left' | 'right';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "TouchPresentationZone"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "const UNITS = {\n position: 'meters',\n velocity: 'meters/second',\n angles: 'degrees',\n} as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/multiplayer-contract/state.ts"; }]; readonly kind: "value"; readonly name: "UNITS"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export class UniversalActionSurface {\n readonly element: HTMLElement;\n readonly #document: Document;\n readonly #hints: ActionSurfaceHintSource;\n readonly #onInvoke: (invocation: ActionSurfaceInvocation) => void;\n readonly #onDismiss?: (instanceId: string) => void;\n readonly #onOpenChange?: (open: boolean) => void;\n readonly #title: HTMLElement;\n readonly #status: HTMLElement;\n readonly #list: HTMLElement;\n readonly #hint: HTMLElement;\n readonly #unsubscribeHints: () => void;\n #snapshot: ActionSurfaceSnapshot | null = null;\n #actions: ActionSurfaceAction[] = [];\n #cursor = 0;\n #mode: SurfaceMode = { type: 'browse' };\n #lastPointer = { x: Number.NaN, y: Number.NaN };\n #pointerBaseline = { x: Number.NaN, y: Number.NaN };\n #pointerActive = false;\n #touchObserved = false;\n #navHeld: -1 | 0 | 1 | null = null;\n #dismissedFor: string | null = null;\n #disposed = false;\n constructor(options: UniversalActionSurfaceOptions) {\n this.#document = options.document ?? options.host.ownerDocument;\n this.#hints = options.hints;\n this.#onInvoke = options.onInvoke;\n this.#onDismiss = options.onDismiss;\n this.#onOpenChange = options.onOpenChange;\n ensureActionSurfaceStyles(this.#document);\n this.element = make(this.#document, 'section', 'helix-action-surface');\n this.element.dataset.testid = 'action-surface';\n this.element.setAttribute('aria-live', 'polite');\n this.element.hidden = true;\n const header = make(this.#document, 'header', 'helix-action-surface__header');\n this.#title = make(this.#document, 'h2', 'helix-action-surface__title');\n this.#status = make(this.#document, 'span', 'helix-action-surface__status');\n const close = make(this.#document, 'button', 'helix-action-surface__close') as HTMLButtonElement;\n close.type = 'button';\n close.dataset.testid = 'action-surface-close';\n close.setAttribute('aria-label', 'Close');\n close.textContent = '✕';\n close.addEventListener('click', () => this.cancel());\n header.append(this.#title, this.#status, close);\n this.#list = make(this.#document, 'div', 'helix-action-surface__list');\n this.#list.addEventListener('pointermove', (event) => this.#onListPointerMove(event as PointerEvent));\n this.element.addEventListener('pointerdown', (event) => this.observePointer((event as PointerEvent).pointerType));\n this.#hint = make(this.#document, 'footer', 'helix-action-surface__hint');\n this.element.append(header, this.#list, this.#hint);\n options.host.append(this.element);\n this.#unsubscribeHints = this.#hints.subscribe?.(() => this.#renderHints()) ?? (() => undefined);\n }\n get isOpen(): boolean { return this.#snapshot !== null; }\n get instanceId(): string | null { return this.#snapshot?.instanceId ?? null; }\n get mode(): 'browse' | 'number' | 'text' | 'picker' { return this.#mode.type; }\n get selectedAction(): ActionSurfaceAction | null { return this.#actions[this.#cursor] ?? null; }\n get visibleActions(): readonly ActionSurfaceAction[] { return this.#actions; }\n get liveNumber(): number | null { return this.#mode.type === 'number' ? this.#mode.value : null; }\n get liveText(): string | null { return this.#mode.type === 'text' ? this.#mode.value : null; }\n setSnapshot(snapshot: ActionSurfaceSnapshot | null): void {\n this.#assertLive();\n if (snapshot === null) {\n this.hide();\n return;\n }\n if (this.#dismissedFor === snapshot.instanceId)\n return;\n const errors = validateActionSurfaceSnapshot(snapshot);\n if (errors.length)\n throw new Error(`invalid action-surface snapshot: ${errors.join('; ')}`);\n const wasOpen = this.isOpen;\n const sameInstance = this.#snapshot?.instanceId === snapshot.instanceId;\n const selectedId = sameInstance ? this.selectedAction?.id : undefined;\n const visible = snapshot.actions.filter((action) => action.visible !== false);\n this.#snapshot = snapshot;\n this.#actions = visible;\n if (!sameInstance) {\n this.#mode = { type: 'browse' };\n this.#cursor = firstEnabled(visible, snapshot.availability);\n this.#navHeld = null;\n this.#parkPointer();\n }\n else {\n const selectedIndex = selectedId ? visible.findIndex((action) => action.id === selectedId) : -1;\n this.#cursor = selectedIndex >= 0 ? selectedIndex : Math.min(this.#cursor, Math.max(0, visible.length - 1));\n this.#refreshSustainedAction();\n }\n if (visible.length === 0) {\n this.hide();\n return;\n }\n this.element.hidden = false;\n this.#title.textContent = snapshot.title;\n this.#renderStatus();\n if (this.#mode.type === 'number' && sameInstance)\n this.#refreshNumberDom();\n else if (this.#mode.type === 'text' && sameInstance)\n this.#refreshTextDom();\n else\n this.#render();\n if (!wasOpen)\n this.#onOpenChange?.(true);\n }\n hide(): void {\n if (!this.isOpen)\n return;\n this.#snapshot = null;\n this.#actions = [];\n this.#cursor = 0;\n this.#mode = { type: 'browse' };\n this.#navHeld = null;\n this.element.hidden = true;\n this.#list.replaceChildren();\n this.#hint.replaceChildren();\n this.#onOpenChange?.(false);\n }\n dismiss(): void {\n const id = this.#snapshot?.instanceId;\n if (!id)\n return;\n this.#dismissedFor = id;\n this.hide();\n this.#onDismiss?.(id);\n }\n rearm(): void { this.#dismissedFor = null; }\n refreshHints(): void {\n this.#assertLive();\n this.#renderHints();\n }\n observePointer(pointerType: string): void {\n this.#assertLive();\n const touch = pointerType === 'touch';\n if (touch === this.#touchObserved)\n return;\n this.#touchObserved = touch;\n this.#renderHints();\n }\n move(delta: -1 | 1): void {\n if (!this.#snapshot || this.#actions.length === 0)\n return;\n this.#parkPointer();\n if (this.#touchObserved) {\n this.#touchObserved = false;\n this.#renderHints();\n }\n if (this.#mode.type === 'number') {\n this.#setNumber(this.#mode.value + delta * (this.#mode.action.step ?? 0.01));\n return;\n }\n if (this.#mode.type === 'picker') {\n this.#movePicker(delta);\n return;\n }\n const count = this.#actions.length;\n let index = this.#cursor;\n for (let step = 0; step < count; step++) {\n index = (index + delta + count) % count;\n if (isActionEnabled(this.#actions[index], this.#snapshot.availability))\n break;\n }\n this.#cursor = index;\n this.#refreshBrowseSelection();\n }\n confirm(): void {\n const action = this.#mode.type === 'browse' ? this.selectedAction : this.#mode.action;\n if (!action || !this.#snapshot)\n return;\n if (this.#mode.type === 'number') {\n this.#endSustained();\n return;\n }\n if (this.#mode.type === 'text') {\n this.#onInvoke({ action, kind: 'text', value: this.#mode.value });\n this.#endSustained();\n return;\n }\n if (this.#mode.type === 'picker') {\n const option = action.options?.[this.#mode.index];\n if (option && option.disabled !== true) {\n this.#onInvoke({ action, kind: action.kind as 'choice' | 'asset', value: option.value });\n this.#endSustained();\n }\n return;\n }\n if (!isActionEnabled(action, this.#snapshot.availability))\n return;\n if (action.kind === 'number') {\n this.#beginNumber(action);\n return;\n }\n if (action.kind === 'text') {\n this.#beginText(action);\n return;\n }\n if (action.kind === 'choice' || action.kind === 'asset') {\n this.#beginPicker(action);\n return;\n }\n this.#onInvoke({ action, kind: action.kind });\n }\n cancel(): void {\n if (this.#mode.type !== 'browse')\n this.#endSustained();\n else\n this.dismiss();\n }\n endEngagement(): void {\n this.#navHeld = null;\n if (this.#mode.type === 'browse')\n return;\n this.#endSustained();\n }\n handleVerb(verb: 'navigate' | 'activate' | 'back', event: VerbEvent): void {\n if (verb === 'navigate' && event.phase === 'end') {\n this.#navHeld = null;\n return;\n }\n if (event.phase === 'end')\n return;\n if (verb === 'activate') {\n if (event.phase === 'start')\n this.confirm();\n return;\n }\n if (verb === 'back') {\n if (event.phase === 'start')\n this.cancel();\n return;\n }\n const vector = event.vector;\n if (!vector)\n return;\n if (this.#mode.type === 'text')\n return;\n const axis = this.#mode.type === 'number'\n ? Math.abs(vector.x) >= Math.abs(vector.y)\n ? vector.x\n : vector.y\n : Math.abs(vector.y) >= Math.abs(vector.x)\n ? vector.y\n : -vector.x;\n const delta: -1 | 1 = this.#mode.type === 'number'\n ? axis > 0\n ? 1\n : -1\n : axis > 0\n ? -1\n : 1;\n const direction = axis === 0 ? 0 : delta;\n if (event.phase === 'start') {\n this.#navHeld = Math.abs(axis) >= NAV_PRESS ? direction : 0;\n if (Math.abs(axis) >= NAV_PRESS)\n this.move(delta);\n return;\n }\n if (this.#navHeld === null || Math.abs(axis) < NAV_PRESS)\n return;\n this.#navHeld = direction;\n this.move(delta);\n }\n dispose(): void {\n if (this.#disposed)\n return;\n this.#disposed = true;\n this.#unsubscribeHints();\n this.element.remove();\n this.#snapshot = null;\n this.#actions = [];\n this.#navHeld = null;\n }\n #beginNumber(action: ActionSurfaceAction): void {\n const min = action.min ?? 0;\n const max = action.max ?? 1;\n const initial = typeof action.value === 'number' ? action.value : min;\n this.#mode = { type: 'number', action, value: clamp(initial, min, max) };\n this.#render();\n }\n #beginText(action: ActionSurfaceAction): void {\n const initial = typeof action.value === 'string' ? action.value : '';\n this.#mode = { type: 'text', action, value: initial.slice(0, action.maxLength ?? 4096) };\n this.#render();\n }\n #beginPicker(action: ActionSurfaceAction): void {\n const options = action.options ?? [];\n if (options.length === 0)\n return;\n const current = action.value === undefined || action.value === null\n ? -1\n : options.findIndex((option) => option.value === String(action.value));\n const first = firstEnabledOption(options, current >= 0 ? current : 0);\n this.#mode = { type: 'picker', action, index: first };\n this.#render();\n }\n #movePicker(delta: -1 | 1): void {\n if (this.#mode.type !== 'picker')\n return;\n const options = this.#mode.action.options ?? [];\n if (options.length === 0)\n return;\n let index = this.#mode.index;\n for (let step = 0; step < options.length; step++) {\n index = (index + delta + options.length) % options.length;\n if (options[index].disabled !== true)\n break;\n }\n this.#mode.index = index;\n this.#render();\n }\n #setNumber(raw: number): void {\n if (this.#mode.type !== 'number' || !Number.isFinite(raw))\n return;\n const action = this.#mode.action;\n const min = action.min ?? 0;\n const max = action.max ?? 1;\n const step = action.step ?? 0.01;\n const rounded = roundToStep(clamp(raw, min, max), min, step);\n if (!Number.isFinite(rounded))\n return;\n const value = clamp(rounded, min, max);\n if (value === this.#mode.value)\n return;\n this.#mode.value = value;\n this.#refreshNumberDom();\n this.#onInvoke({ action, kind: 'number', value });\n }\n #endSustained(): void {\n this.#parkPointer();\n const active = this.#document.activeElement;\n if (active instanceof this.#document.defaultView!.HTMLElement && this.#list.contains(active))\n active.blur();\n this.#mode = { type: 'browse' };\n this.#render();\n }\n #refreshSustainedAction(): void {\n const mode = this.#mode;\n if (mode.type === 'browse' || !this.#snapshot)\n return;\n const focusedValue = mode.type === 'picker' ? mode.action.options?.[mode.index]?.value : undefined;\n const action = this.#actions.find((candidate) => candidate.id === mode.action.id);\n if (!action || !isActionEnabled(action, this.#snapshot.availability) || action.kind !== mode.action.kind) {\n this.#mode = { type: 'browse' };\n return;\n }\n mode.action = action;\n if (mode.type === 'number') {\n mode.value = clamp(mode.value, action.min ?? 0, action.max ?? 1);\n }\n if (mode.type === 'picker') {\n const options = action.options ?? [];\n const index = focusedValue ? options.findIndex((option) => option.value === focusedValue) : -1;\n mode.index = firstEnabledOption(options, index >= 0 ? index : 0);\n }\n }\n #render(): void {\n if (!this.#snapshot)\n return;\n this.#renderStatus();\n if (this.#mode.type === 'number')\n this.#renderNumber();\n else if (this.#mode.type === 'text')\n this.#renderText();\n else if (this.#mode.type === 'picker')\n this.#renderPicker();\n else\n this.#renderBrowse();\n this.#renderHints();\n }\n #renderStatus(): void {\n const availability = this.#snapshot?.availability;\n this.#status.textContent = availability?.state === 'available'\n ? ''\n : availability?.label ?? (availability?.state === 'occupied' ? 'Occupied' : availability?.state === 'busy' ? 'Busy' : '');\n this.#status.dataset.state = availability?.state ?? 'available';\n }\n #renderBrowse(): void {\n this.element.dataset.mode = 'browse';\n const rows = this.#actions.map((action, index) => {\n const button = make(this.#document, 'button', 'helix-action-surface__row') as HTMLButtonElement;\n const enabled = isActionEnabled(action, this.#snapshot?.availability);\n button.type = 'button';\n button.dataset.testid = `action-${action.id}`;\n button.dataset.index = String(index);\n button.dataset.selected = String(index === this.#cursor);\n button.setAttribute('aria-selected', String(index === this.#cursor));\n button.disabled = !enabled;\n const label = make(this.#document, 'span', 'helix-action-surface__label');\n label.textContent = action.label;\n const metaText = actionMeta(action);\n button.append(label);\n if (metaText) {\n const meta = make(this.#document, 'span', 'helix-action-surface__meta');\n meta.textContent = metaText;\n button.append(meta);\n }\n button.addEventListener('click', () => {\n this.#pointerActive = true;\n this.#cursor = index;\n this.#refreshBrowseSelection();\n this.confirm();\n });\n return button;\n });\n this.#list.replaceChildren(...rows);\n }\n #onListPointerMove(event: PointerEvent): void {\n if (event.clientX === this.#lastPointer.x && event.clientY === this.#lastPointer.y)\n return;\n this.#lastPointer = { x: event.clientX, y: event.clientY };\n if (event.pointerType === 'touch')\n return;\n if (this.#mode.type !== 'browse')\n return;\n if (!this.#pointerActive) {\n const dx = event.clientX - this.#pointerBaseline.x;\n const dy = event.clientY - this.#pointerBaseline.y;\n if (Math.hypot(dx, dy) < POINTER_WAKE_PX)\n return;\n this.#pointerActive = true;\n }\n const row = (event.target as Element | null)?.closest?.('[data-index]');\n if (!(row instanceof this.#document.defaultView!.HTMLElement))\n return;\n if (row.hasAttribute('disabled'))\n return;\n const index = Number(row.dataset.index);\n if (!Number.isInteger(index) || index === this.#cursor)\n return;\n this.#cursor = index;\n this.#refreshBrowseSelection();\n }\n #parkPointer(): void {\n this.#pointerActive = false;\n this.#pointerBaseline = { ...this.#lastPointer };\n }\n #refreshBrowseSelection(): void {\n if (this.#mode.type !== 'browse')\n return;\n for (const row of this.#list.querySelectorAll('[data-index]')) {\n const selected = Number(row.dataset.index) === this.#cursor;\n row.dataset.selected = String(selected);\n row.setAttribute('aria-selected', String(selected));\n }\n }\n #renderNumber(): void {\n if (this.#mode.type !== 'number')\n return;\n const action = this.#mode.action;\n const min = action.min ?? 0;\n const max = action.max ?? 1;\n this.element.dataset.mode = 'number';\n const wrap = make(this.#document, 'div', 'helix-action-surface__adjust');\n wrap.dataset.testid = `number-${action.id}`;\n const head = make(this.#document, 'div', 'helix-action-surface__adjust-head');\n const label = make(this.#document, 'span', 'helix-action-surface__label');\n label.textContent = action.label;\n const output = make(this.#document, 'output', 'helix-action-surface__value') as HTMLOutputElement;\n output.dataset.testid = 'number-value';\n head.append(label, output);\n const input = make(this.#document, 'input', 'helix-action-surface__range') as HTMLInputElement;\n input.type = 'range';\n input.min = String(min);\n input.max = String(max);\n input.step = String(action.step ?? 0.01);\n input.dataset.testid = 'number-range';\n input.setAttribute('aria-label', action.label);\n const push = () => this.#setNumber(Number(input.value));\n input.addEventListener('input', push);\n input.addEventListener('change', push);\n const submit = make(this.#document, 'button', 'helix-action-surface__number-submit') as HTMLButtonElement;\n submit.type = 'button';\n submit.dataset.testid = 'number-submit';\n submit.textContent = 'Done';\n submit.addEventListener('click', () => this.confirm());\n wrap.append(head, input, submit);\n this.#list.replaceChildren(wrap);\n this.#refreshNumberDom();\n }\n #refreshNumberDom(): void {\n if (this.#mode.type !== 'number')\n return;\n const action = this.#mode.action;\n const value = this.#mode.value;\n const output = this.#list.querySelector('[data-testid=\"number-value\"]');\n if (output)\n output.textContent = formatNumber(value, action.step, action.unit);\n const input = this.#list.querySelector('[data-testid=\"number-range\"]');\n if (input) {\n input.min = String(action.min ?? 0);\n input.max = String(action.max ?? 1);\n input.step = String(action.step ?? 0.01);\n input.setAttribute('aria-label', action.label);\n if (Number(input.value) !== value)\n input.value = String(value);\n }\n }\n #renderText(): void {\n if (this.#mode.type !== 'text')\n return;\n const action = this.#mode.action;\n this.element.dataset.mode = 'text';\n const wrap = make(this.#document, 'div', 'helix-action-surface__text');\n wrap.dataset.testid = `text-${action.id}`;\n const label = make(this.#document, 'label', 'helix-action-surface__label') as HTMLLabelElement;\n label.textContent = action.label;\n const input = make(this.#document, 'input', 'helix-action-surface__text-input') as HTMLInputElement;\n input.type = 'text';\n input.dataset.testid = 'text-input';\n input.value = this.#mode.value;\n input.placeholder = action.placeholder ?? '';\n input.inputMode = action.inputMode ?? 'text';\n if (action.maxLength !== undefined)\n input.maxLength = action.maxLength;\n label.htmlFor = `${this.#snapshot?.instanceId ?? 'action'}-${action.id}-input`;\n input.id = label.htmlFor;\n input.addEventListener('input', () => {\n if (this.#mode.type === 'text')\n this.#mode.value = input.value;\n });\n input.addEventListener('keydown', (event) => {\n event.stopPropagation();\n if (event.key === 'Enter' && !event.isComposing) {\n event.preventDefault();\n this.confirm();\n }\n else if (event.key === 'Escape') {\n event.preventDefault();\n this.cancel();\n }\n });\n const submit = make(this.#document, 'button', 'helix-action-surface__text-submit') as HTMLButtonElement;\n submit.type = 'button';\n submit.dataset.testid = 'text-submit';\n submit.textContent = 'Submit';\n submit.addEventListener('click', () => this.confirm());\n wrap.append(label, input, submit);\n this.#list.replaceChildren(wrap);\n input.focus({ preventScroll: true });\n }\n #refreshTextDom(): void {\n if (this.#mode.type !== 'text')\n return;\n const action = this.#mode.action;\n const input = this.#list.querySelector('[data-testid=\"text-input\"]');\n if (!input)\n return;\n input.placeholder = action.placeholder ?? '';\n input.inputMode = action.inputMode ?? 'text';\n if (action.maxLength !== undefined)\n input.maxLength = action.maxLength;\n else\n input.removeAttribute('maxlength');\n if (this.#document.activeElement !== input)\n input.value = this.#mode.value;\n }\n #renderPicker(): void {\n if (this.#mode.type !== 'picker')\n return;\n const action = this.#mode.action;\n this.element.dataset.mode = 'picker';\n const current = action.value === undefined || action.value === null ? null : String(action.value);\n const rows = (action.options ?? []).map((option, index) => {\n const button = make(this.#document, 'button', 'helix-action-surface__row') as HTMLButtonElement;\n button.type = 'button';\n button.dataset.testid = `option-${option.value}`;\n button.dataset.selected = String(index === this.#modePickerIndex());\n button.dataset.current = String(option.value === current);\n button.setAttribute('role', 'radio');\n button.setAttribute('aria-selected', String(index === this.#modePickerIndex()));\n button.setAttribute('aria-checked', String(option.value === current));\n button.disabled = option.disabled === true;\n const mark = make(this.#document, 'span', 'helix-action-surface__mark');\n mark.textContent = option.value === current ? '✓' : '';\n mark.setAttribute('aria-hidden', 'true');\n const label = make(this.#document, 'span', 'helix-action-surface__label');\n label.textContent = option.label;\n button.append(mark, label);\n if (option.reason) {\n const reason = make(this.#document, 'span', 'helix-action-surface__meta');\n reason.textContent = option.reason;\n button.append(reason);\n }\n button.addEventListener('click', () => {\n if (this.#mode.type !== 'picker')\n return;\n this.#mode.index = index;\n this.confirm();\n });\n return button;\n });\n this.#list.replaceChildren(...rows);\n }\n #modePickerIndex(): number { return this.#mode.type === 'picker' ? this.#mode.index : -1; }\n #renderHints(): void {\n if (!this.#snapshot)\n return;\n const reported = this.#hints.activeDevice();\n const device = this.#touchObserved && reported === 'keyboard' ? 'touch' : reported;\n this.element.dataset.device = device;\n const rows: Array<[\n StandardModeAction,\n string\n ]> = this.#mode.type === 'number'\n ? [['move', 'adjust'], ['primary', 'done'], ['cancel', 'back']]\n : this.#mode.type === 'text'\n ? [['primary', 'submit'], ['cancel', 'back']]\n : this.#mode.type === 'picker'\n ? [['move', 'choose'], ['primary', 'set'], ['cancel', 'back']]\n : [['move', 'choose'], ['primary', 'select'], ['cancel', 'close']];\n const fragments: HTMLElement[] = [];\n for (const [action, label] of rows) {\n const hint = make(this.#document, 'span', 'helix-action-surface__hint-item');\n const key = make(this.#document, 'kbd', 'helix-action-surface__key');\n key.textContent = this.#hints.hint(action as 'move' | 'primary' | 'cancel');\n const text = make(this.#document, 'span', 'helix-action-surface__hint-label');\n text.textContent = label;\n hint.append(key, text);\n fragments.push(hint);\n }\n this.#hint.replaceChildren(...fragments);\n }\n #assertLive(): void {\n if (this.#disposed)\n throw new Error('action surface is disposed');\n }\n}"; readonly kind: "ClassDeclaration"; readonly source: "src/action-surface.ts"; }]; readonly kind: "value_and_type"; readonly name: "UniversalActionSurface"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface UniversalActionSurfaceOptions {\n host: HTMLElement;\n hints: ActionSurfaceHintSource;\n onInvoke(invocation: ActionSurfaceInvocation): void;\n onDismiss?(instanceId: string): void;\n onOpenChange?(open: boolean): void;\n document?: Document;\n now?(): number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/action-surface.ts"; }]; readonly kind: "type"; readonly name: "UniversalActionSurfaceOptions"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export function validateActionSurfaceSnapshot(snapshot: ActionSurfaceSnapshot): string[] {\n const errors: string[] = [];\n if (!snapshot.instanceId.trim())\n errors.push('instanceId is required');\n if (!snapshot.title.trim())\n errors.push('title is required');\n const ids = new Set();\n for (const [index, action] of snapshot.actions.entries()) {\n const at = `actions[${index}]`;\n if (!action.id.trim())\n errors.push(`${at}.id is required`);\n else if (ids.has(action.id))\n errors.push(`${at}.id duplicates '${action.id}'`);\n else\n ids.add(action.id);\n if (!action.label.trim())\n errors.push(`${at}.label is required`);\n if (!ACTION_KINDS.has(action.kind))\n errors.push(`${at}.kind '${String(action.kind)}' is unsupported`);\n if (action.enabled === false && !readableReason(action)) {\n errors.push(`${at} is disabled without a player-readable reason`);\n }\n if (action.kind === 'number') {\n const min = action.min ?? 0;\n const max = action.max ?? 1;\n const step = action.step ?? 0.01;\n if (![min, max, step].every((value) => Number.isFinite(value))) {\n errors.push(`${at} has non-finite number bounds`);\n }\n else {\n if (max <= min)\n errors.push(`${at}.max must be greater than min`);\n if (step <= 0)\n errors.push(`${at}.step must be positive`);\n }\n if (action.value !== undefined && action.value !== null && typeof action.value !== 'number') {\n errors.push(`${at}.value must be a number`);\n }\n else if (typeof action.value === 'number' && !Number.isFinite(action.value)) {\n errors.push(`${at}.value must be finite`);\n }\n }\n if (action.kind === 'text') {\n if (action.value !== undefined && action.value !== null && typeof action.value !== 'string') {\n errors.push(`${at}.value must be a string`);\n }\n if (action.maxLength !== undefined && (!Number.isInteger(action.maxLength) || action.maxLength < 1 || action.maxLength > 4096)) {\n errors.push(`${at}.maxLength must be an integer between 1 and 4096`);\n }\n }\n if (action.kind === 'choice' || action.kind === 'asset') {\n const optionValues = new Set();\n for (const [optionIndex, option] of (action.options ?? []).entries()) {\n const optionAt = `${at}.options[${optionIndex}]`;\n if (!option.value)\n errors.push(`${optionAt}.value is required`);\n else if (optionValues.has(option.value))\n errors.push(`${optionAt}.value duplicates '${option.value}'`);\n else\n optionValues.add(option.value);\n if (!option.label.trim())\n errors.push(`${optionAt}.label is required`);\n if (option.disabled === true && !(option.reason?.trim())) {\n errors.push(`${optionAt} is disabled without a player-readable reason`);\n }\n }\n }\n }\n return errors;\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/action-surface.ts"; }]; readonly kind: "value"; readonly name: "validateActionSurfaceSnapshot"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export function validateCameraControl(control: HelixCameraControl): string | null {\n if (!isRecord(control))\n return 'camera.control expects a control patch object';\n const present = Object.keys(control).filter((key) => (control as Record)[key] !== undefined);\n if (present.length === 0)\n return 'camera.control requires at least one field to change';\n const known: Record = {\n session: true,\n media: true,\n spatial: true,\n controlTarget: true,\n zoom: true,\n filter: true,\n timerSeconds: true,\n aim: true,\n focusPoint: true,\n exposureBias: true,\n shutter: true,\n recording: true,\n worldAudio: true,\n };\n const unknown = present.filter((key) => !Object.prototype.hasOwnProperty.call(known, key));\n if (unknown.length > 0) {\n return `camera.control does not accept ${unknown.sort().join(', ')}`;\n }\n if (control.session !== undefined && !isCameraSessionState(control.session)) {\n return 'camera.control session is outside the shared vocabulary';\n }\n if (control.media !== undefined && !isCameraMediaMode(control.media)) {\n return 'camera.control media is outside the shared vocabulary';\n }\n if (control.spatial !== undefined && !isCameraSpatialMode(control.spatial)) {\n return 'camera.control spatial is outside the shared vocabulary';\n }\n if (control.controlTarget !== undefined && !isCameraControlTarget(control.controlTarget)) {\n return 'camera.control controlTarget is outside the shared vocabulary';\n }\n if (control.filter !== undefined && !isCameraFilterId(control.filter)) {\n return 'camera.control filter is outside the shared vocabulary';\n }\n if (control.timerSeconds !== undefined && !isCameraTimerSeconds(control.timerSeconds)) {\n return 'camera.control timerSeconds must be 0, 3 or 10';\n }\n if (control.zoom !== undefined &&\n (!finite(control.zoom) || control.zoom < CAMERA_MIN_ZOOM || control.zoom > CAMERA_MAX_ZOOM)) {\n return `camera.control zoom must be between ${CAMERA_MIN_ZOOM} and ${CAMERA_MAX_ZOOM}`;\n }\n if (control.aim !== undefined && !normalizeAim(control.aim)) {\n return 'camera.control aim needs finite yaw and pitch';\n }\n if (control.focusPoint !== undefined && !normalizeFocusPoint(control.focusPoint)) {\n return 'camera.control focusPoint must be inside the 0..1 viewport';\n }\n if (control.exposureBias !== undefined && !finite(control.exposureBias)) {\n return 'camera.control exposureBias must be a finite number of stops';\n }\n for (const flag of ['shutter', 'recording', 'worldAudio'] as const) {\n if (control[flag] !== undefined && typeof control[flag] !== 'boolean') {\n return `camera.control ${flag} must be a boolean`;\n }\n }\n return null;\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/camera.ts"; }]; readonly kind: "value"; readonly name: "validateCameraControl"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export function validateInputMap(input: InputMap, suppression: Suppression = {}): string[] {\n const errors: string[] = [];\n const enabledActions = new Map();\n const surfaceContinuous: string[] = [];\n for (const [verb, typedBinding] of Object.entries(input)) {\n const binding = typedBinding as unknown as Record;\n for (const field of RAW_BINDING_FIELDS) {\n if (Object.prototype.hasOwnProperty.call(binding, field)) {\n errors.push(`verb '${verb}' declares raw device field '${field}'`);\n }\n }\n const action = binding.action;\n if (typeof action !== 'string' || !ACTIONS.has(action as StandardModeAction)) {\n errors.push(`verb '${verb}' has unsupported action '${String(action)}'`);\n }\n if (typeof binding.label !== 'string' || binding.label.trim() === '') {\n errors.push(`verb '${verb}' has no label, so touch and hints cannot render it`);\n }\n const touch = binding.touch as Record | null | undefined;\n if (!touch || typeof touch !== 'object') {\n errors.push(`verb '${verb}' has no touch presentation`);\n }\n else {\n if (typeof touch.kind !== 'string' || !TOUCH_KINDS.has(touch.kind as TouchPresentationKind)) {\n errors.push(`verb '${verb}' has unsupported touch kind '${String(touch.kind)}'`);\n }\n if (typeof touch.zone !== 'string' || !TOUCH_ZONES.has(touch.zone as TouchPresentationZone)) {\n errors.push(`verb '${verb}' has unsupported touch zone '${String(touch.zone)}'`);\n }\n if (binding.continuous === true && touch.kind !== 'none' && touch.zone === 'surface') {\n surfaceContinuous.push(verb);\n }\n if ((action === 'move' || action === 'look') && !['drag', 'stick', 'none'].includes(String(touch.kind))) {\n errors.push(`verb '${verb}' maps vector action '${action}' to non-vector touch kind '${String(touch.kind)}'`);\n }\n }\n if (binding.disabled === true &&\n (typeof binding.disabledReason !== 'string' || binding.disabledReason.trim() === '')) {\n errors.push(`verb '${verb}' is disabled without disabledReason`);\n }\n if (binding.repeatMs !== undefined &&\n (typeof binding.repeatMs !== 'number' || !Number.isFinite(binding.repeatMs) || binding.repeatMs <= 0)) {\n errors.push(`verb '${verb}' has invalid repeatMs`);\n }\n if (ACTIONS.has(action as StandardModeAction) && binding.disabled !== true) {\n const standardAction = action as StandardModeAction;\n const prior = enabledActions.get(standardAction);\n if (prior) {\n errors.push(`verbs '${prior}' and '${verb}' both map enabled action '${standardAction}'`);\n }\n else if (!prior) {\n enabledActions.set(standardAction, verb);\n }\n }\n }\n if (surfaceContinuous.length > 1) {\n errors.push(`verbs [${surfaceContinuous.join(', ')}] are continuous and claim the whole touch surface; ` +\n 'at most one may');\n }\n if ((suppression.locomotion || suppression.cameraControl) && !enabledActions.has('cancel')) {\n errors.push('a mode suppressing locomotion or cameraControl requires an enabled cancel action');\n }\n return errors;\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "value"; readonly name: "validateInputMap"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export function validFinalRestScope(scope: unknown): scope is FinalRestProvenance | undefined {\n if (scope === undefined)\n return true;\n if (!scope || typeof scope !== 'object')\n return false;\n const s = scope as FinalRestProvenance;\n return finalRestId(s.moduleId) && finalRestSequence(s.generation) &&\n (s.engagementEpoch === undefined || finalRestSequence(s.engagementEpoch));\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/multiplayer-contract/final-rest.ts"; }]; readonly kind: "value"; readonly name: "validFinalRestScope"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface VarsView {\n num(name: string, fallback?: number): number;\n str(name: string, fallback?: string): string;\n bool(name: string, fallback?: boolean): boolean;\n vec3(name: string): Vec3 | null;\n list(name: string): T[];\n raw(name: string): unknown;\n has(name: string): boolean;\n names(): string[];\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-accessors.ts"; }]; readonly kind: "type"; readonly name: "VarsView"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "const VAULT_ASSET_KINDS = [\n 'prop',\n 'character',\n 'animation',\n 'audio',\n 'texture',\n 'material',\n 'environment',\n 'terrain',\n 'vfx',\n 'decal',\n 'sky',\n 'gaussian_splat',\n 'scene',\n 'unreal_package',\n] as const;"; readonly kind: "VariableDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "value"; readonly name: "VAULT_ASSET_KINDS"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultAnimationMetadata = VaultMetadataBase & {\n animation: {\n clipCount: number;\n clips: string[];\n durationSeconds: number | null;\n frameCount: number | null;\n framesPerSecond: number | null;\n rig: string;\n loop: boolean;\n rootMotion: boolean;\n };\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultAnimationMetadata"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export class VaultApiError extends Error {\n constructor(readonly status: number, readonly url: string, readonly responseBody: string) {\n super(`HELIX Vault request failed (${status})${responseBody ? `: ${responseBody}` : ''}`);\n this.name = 'VaultApiError';\n }\n}"; readonly kind: "ClassDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "value_and_type"; readonly name: "VaultApiError"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultArtifactMetadata = {\n format: string;\n mimeType: string;\n sourceBytes: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultArtifactMetadata"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultArtifactReference = {\n role: 'primary' | string;\n url: string | null;\n mimeType: string;\n sizeBytes: number;\n checksumSha256: string | null;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultArtifactReference"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export class VaultArtifactUnavailableError extends Error {\n constructor(readonly handle: VaultAssetHandle) {\n super(`HELIX Vault asset ${handle.assetId} version ${handle.version} has no servable artifact.`);\n this.name = 'VaultArtifactUnavailableError';\n }\n}"; readonly kind: "ClassDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "value_and_type"; readonly name: "VaultArtifactUnavailableError"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultAssetDetail = VaultAssetSummary & {\n artifact: VaultResolvedArtifact;\n usedInWorlds: Array<{\n worldId: string;\n slug: string;\n title: string;\n }>;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultAssetDetail"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultAssetHandle = {\n assetId: string;\n version: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultAssetHandle"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultAssetKind = (typeof VAULT_ASSET_KINDS)[number];"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultAssetKind"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultAssetSummary = {\n assetId: string;\n slug: string;\n title: string;\n description: string | null;\n kind: K;\n license: 'helix_standard' | 'cc0' | 'cc_by' | 'all_rights_reserved';\n compatibility: VaultCompatibility;\n metadata: VaultMetadataByKind[K];\n tags: string[];\n source: 'manual' | 'dreamer' | 'world_generation' | 'import';\n origin: 'generated' | 'uploaded';\n visibility: 'public' | 'private' | 'held';\n currentVersion: number;\n thumbnailUrl: string | null;\n thumbnailGenerator: string | null;\n canonicalThumbnail: VaultCanonicalThumbnail | null;\n artifactUrl: string | null;\n artifactMimeType: string | null;\n artifactSizeBytes: number | null;\n contentRating: string;\n contentRatingStatus: string | null;\n worldUsageCount: number;\n usageCount: number;\n lastUsedAt: string | null;\n creatorId: string;\n createdAt: string;\n updatedAt: string;\n selectionExplanation?: VaultSelectionExplanation | null;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultAssetSummary"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultAssetVersion = {\n handle: VaultAssetHandle;\n url: string | null;\n mimeType: string;\n sizeBytes: number;\n checksumSha256: string | null;\n notes: string | null;\n createdAt: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultAssetVersion"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultAudioGenerationMode = 'sound_effect' | 'music' | 'text_to_speech';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultAudioGenerationMode"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultAudioMetadata = VaultMetadataBase & {\n audio: {\n format: string;\n durationSeconds: number | null;\n loop: boolean;\n mode?: VaultAudioGenerationMode;\n model?: string;\n outputFormat?: string;\n voiceId?: string;\n measuredUsage?: {\n creditsCharged: number;\n measured: boolean;\n providerCostUsd: number;\n };\n [key: string]: unknown;\n };\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultAudioMetadata"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultCanonicalThumbnail = {\n provenance?: string;\n rendererVersion?: string;\n artifactChecksumSha256?: string;\n [key: string]: unknown;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultCanonicalThumbnail"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export class VaultCapabilityUnavailableError extends Error {\n constructor(readonly capability: 'fetch' | 'sha256') {\n super(`HELIX Vault requires ${capability === 'fetch' ? 'Fetch API support' : 'Web Crypto SHA-256 support or an injected sha256 function'} in this runtime.`);\n this.name = 'VaultCapabilityUnavailableError';\n }\n}"; readonly kind: "ClassDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "value_and_type"; readonly name: "VaultCapabilityUnavailableError"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultCharacterMetadata = VaultMetadataBase & {\n character: {\n skinned: boolean;\n meshCount: number;\n triangleCount: number | null;\n boneCount: number;\n };\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultCharacterMetadata"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export class VaultChecksumMismatchError extends Error {\n constructor(readonly expected: string, readonly actual: string) {\n super(`HELIX Vault artifact checksum mismatch: expected ${expected}, got ${actual}.`);\n this.name = 'VaultChecksumMismatchError';\n }\n}"; readonly kind: "ClassDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "value_and_type"; readonly name: "VaultChecksumMismatchError"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultClient = {\n search(query?: VaultSearchQuery): Promise;\n get(assetId: string): Promise>;\n versions(assetId: string): Promise;\n resolve(handleOrAssetId: VaultAssetHandle | string): Promise>;\n createLoadPlan(resolved: VaultResolvedAsset): VaultLoadPlan;\n download(handleOrAssetId: VaultAssetHandle | string, options?: Pick): Promise;\n downloadArtifact(reference: VaultArtifactReference, options?: Pick): Promise;\n install(handleOrAssetId: VaultAssetHandle | string, options?: VaultInstallOptions): Promise;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultClient"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultClientOptions = {\n apiBaseUrl: string;\n fetch?: typeof fetch;\n accessToken?: string | null | (() => string | null | Promise);\n sha256?: (bytes: ArrayBuffer) => Promise;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultClientOptions"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultCompatibility = {\n skeleton?: string;\n skeletonVerification?: 'verified' | 'declared' | string;\n skeletonBonesMatched?: number;\n system?: string;\n engines?: VaultRuntime[];\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultCompatibility"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultDecalMetadata = VaultMetadataBase & {\n decal: {\n projection: 'planar' | 'box';\n widthMeters: number;\n heightMeters: number;\n blendMode: 'normal' | 'multiply' | 'additive';\n };\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultDecalMetadata"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultDownloadedArtifact = {\n reference: VaultArtifactReference;\n bytes: ArrayBuffer;\n checksumVerified: boolean;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultDownloadedArtifact"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultEnvironmentMetadata = VaultMetadataBase & {\n environment: {\n representation: 'mesh' | 'gaussian-splat';\n scope?: 'environment';\n meshCount?: number;\n triangleCount?: number;\n dimensionsMeters?: [number, number, number] | null;\n materialCount?: number;\n };\n gaussianSplat?: VaultGaussianSplatMetadata['gaussianSplat'];\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultEnvironmentMetadata"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultGaussianSplatMetadata = VaultMetadataBase & {\n gaussianSplat: {\n format: 'spz';\n scope: VaultSplatScope;\n pointCount: number | null;\n boundsMeters: [number, number, number] | null;\n pointDensityPerCubicMeter: number | null;\n sphericalHarmonicsDegree: number | null;\n quality: 'mobile' | 'balanced' | 'high' | 'cinematic' | 'unverified';\n lodCount: number;\n compression: {\n format: 'spz';\n level: unknown;\n };\n capture: {\n provider: unknown;\n source: unknown;\n metersPerUnit: number;\n upAxis: 'x' | 'y' | 'z';\n };\n performance: {\n downloadBytes: number;\n memoryBytes: number | null;\n };\n };\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultGaussianSplatMetadata"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultImmutableArtifactReference = VaultAssetHandle & {\n checksumSha256: string;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultImmutableArtifactReference"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultInstallOptions = {\n relatedRoles?: string[];\n verifyChecksum?: boolean;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultInstallOptions"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultInstallResult = {\n asset: VaultResolvedAsset;\n plan: VaultLoadPlan;\n primary: VaultDownloadedArtifact;\n related: VaultDownloadedArtifact[];\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultInstallResult"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultLoadPlan = {\n loader: 'gltf';\n purpose: 'prop' | 'character' | 'animation' | 'environment' | 'terrain';\n handle: VaultAssetHandle;\n primary: VaultArtifactReference;\n related: VaultArtifactReference[];\n} | {\n loader: 'image';\n purpose: 'texture' | 'decal';\n handle: VaultAssetHandle;\n primary: VaultArtifactReference;\n related: VaultArtifactReference[];\n} | {\n loader: 'audio';\n purpose: 'audio';\n handle: VaultAssetHandle;\n primary: VaultArtifactReference;\n related: VaultArtifactReference[];\n} | {\n loader: 'hdr-environment';\n purpose: 'sky';\n format: 'hdr' | 'exr';\n handle: VaultAssetHandle;\n primary: VaultArtifactReference;\n related: VaultArtifactReference[];\n} | {\n loader: 'gaussian-splat';\n purpose: 'gaussian_splat' | 'environment';\n format: 'spz';\n scope: VaultSplatScope;\n handle: VaultAssetHandle;\n primary: VaultArtifactReference;\n related: VaultArtifactReference[];\n} | {\n loader: 'helix-descriptor';\n purpose: 'material' | 'scene' | 'terrain' | 'vfx' | 'sky';\n schema: 'helix-material@1' | 'helix-scene@1' | 'helix-terrain@1' | 'helix-vfx@1' | 'helix-sky@1';\n handle: VaultAssetHandle;\n primary: VaultArtifactReference;\n related: VaultArtifactReference[];\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultLoadPlan"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultMaterialMetadata = VaultMetadataBase & {\n material: {\n schemaVersion: string;\n materialId: string;\n materialType: 'pbr' | 'procedural_glass' | 'procedural_water';\n mapSemantics: string[];\n };\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultMaterialMetadata"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultMetadataByKind = {\n prop: VaultPropMetadata;\n character: VaultCharacterMetadata;\n animation: VaultAnimationMetadata;\n audio: VaultAudioMetadata;\n texture: VaultTextureMetadata;\n material: VaultMaterialMetadata;\n environment: VaultEnvironmentMetadata;\n terrain: VaultTerrainMetadata;\n vfx: VaultVfxMetadata;\n decal: VaultDecalMetadata;\n sky: VaultSkyMetadata;\n gaussian_splat: VaultGaussianSplatMetadata;\n scene: VaultSceneMetadata;\n unreal_package: VaultUnrealPackageMetadata;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultMetadataByKind"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultPerformanceMetadata = {\n costScore: number | null;\n tier: VaultPerformanceTier;\n downloadBytes: number;\n qualityScore: number | null;\n rankingSignals: string[];\n triangles?: number;\n drawCalls?: number;\n maxTextureEdge?: number;\n memoryBytes?: number | null;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultPerformanceMetadata"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultPerformanceTier = 'mobile' | 'desktop' | 'cinematic' | 'unknown';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultPerformanceTier"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultPropMetadata = VaultMetadataBase & {\n prop: {\n static: true;\n coordinateSystem: string;\n units: 'meters' | string;\n dimensionsMeters: [number, number, number];\n triangleCount: number;\n materialCount: number;\n maxTextureEdge: number;\n fileSizeBytes: number;\n lods: Array<{\n level: number;\n triangles: number;\n format: string;\n }>;\n limits: {\n maxFileBytes: number;\n maxTextureEdge: number;\n generated: boolean;\n [key: string]: unknown;\n };\n [key: string]: unknown;\n };\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultPropMetadata"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultRankMode = 'relevance' | 'performance' | 'reuse';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultRankMode"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultRelatedArtifact = {\n role: string;\n url: string | null;\n mimeType: string;\n sizeBytes: number;\n checksumSha256: string | null;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultRelatedArtifact"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultResolvedArtifact = {\n assetId: string;\n version: number;\n url: string | null;\n urlKind: 'cdn' | 'unavailable';\n mimeType: string;\n sizeBytes: number;\n checksumSha256: string | null;\n relatedArtifacts: VaultRelatedArtifact[];\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultResolvedArtifact"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultResolvedAsset = {\n handle: VaultAssetHandle;\n asset: VaultAssetDetail;\n artifact: VaultResolvedArtifact;\n relatedArtifactsComplete: boolean;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultResolvedAsset"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultRuntime = 'web' | 'unreal';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultRuntime"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultSceneMetadata = VaultMetadataBase & {\n scene: {\n schemaVersion: string;\n nodeCount: number;\n references: Array;\n runtimeBundles: Array<{\n runtime: VaultRuntime;\n format: string;\n artifact: VaultImmutableArtifactReference;\n }>;\n budget: {\n deviceTier: 'mobile' | 'desktop' | 'cinematic';\n derivedTotals: {\n uniqueMaterials: number;\n drawCalls: number;\n decodedTextureMemoryBytes: number;\n triangles: number;\n particles: number;\n };\n basis: 'server-resolved-immutable-artifacts';\n limits: {\n uniqueMaterials: number;\n drawCalls: number;\n decodedTextureMemoryBytes: number;\n triangles: number;\n particles: number;\n };\n costScore: number;\n withinBudget: true;\n };\n };\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultSceneMetadata"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultSearchQuery = {\n q?: string;\n kind?: VaultAssetKind | VaultAssetKind[];\n subtype?: string;\n scope?: VaultSplatScope;\n format?: string;\n performanceTier?: VaultPerformanceTier;\n skeleton?: 'humanoid' | 'quadruped';\n engine?: VaultRuntime;\n license?: VaultAssetSummary['license'];\n source?: VaultAssetSummary['source'];\n origin?: VaultAssetSummary['origin'];\n creatorId?: string;\n rank?: VaultRankMode;\n page?: number;\n limit?: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultSearchQuery"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultSearchResult = {\n items: VaultAssetSummary[];\n totalItems: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultSearchResult"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultSelectionExplanation = {\n rankMode: VaultRankMode;\n lexical: {\n matchedTerms: string[];\n matchedFields: string[];\n };\n hardFilters: Record;\n performance: {\n tier: VaultPerformanceTier | null;\n costScore: number | null;\n qualityScore: number | null;\n };\n reuse: {\n worldUsageCount: number;\n usageCount: number;\n lastUsedAt: string | null;\n };\n availability: {\n performanceMeasured: boolean;\n qualityMeasured: boolean;\n reuseObserved: boolean;\n };\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultSelectionExplanation"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultSkyMetadata = VaultMetadataBase & {\n sky: {\n schemaVersion: string;\n sourceFormat: 'hdr' | 'exr';\n projection: 'equirectangular' | 'cubemap';\n colorSpace: 'linear-srgb' | 'acescg';\n dynamicRangeStops: number;\n exposureEv: number;\n resolution: {\n width: number;\n height: number;\n };\n backdropRenditions: unknown[];\n lightingRenditions: unknown[];\n channelsSeparated: true;\n };\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultSkyMetadata"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultSplatScope = 'object' | 'environment';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultSplatScope"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultTerrainMetadata = VaultMetadataBase & {\n terrain: {\n representation: 'heightmap' | 'mesh';\n sourceFormat?: 'png16' | 'raw16' | 'exr' | 'glb';\n dimensionsMeters: [number, number, number] | null;\n triangleCount?: number | null;\n schemaVersion?: string;\n };\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultTerrainMetadata"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultTextureMetadata = VaultMetadataBase & {\n texture: {\n semantic: 'albedo' | 'normal' | 'roughness' | 'metallic' | 'ambient-occlusion' | 'emissive' | 'height' | 'mask' | 'unspecified';\n colorSpace: 'srgb' | 'linear' | 'unspecified';\n };\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultTextureMetadata"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultUnrealPackageMetadata = VaultMetadataBase;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultUnrealPackageMetadata"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export class VaultUnsupportedRuntimeError extends Error {\n constructor(readonly kind: VaultAssetKind, readonly mimeType: string, reason: string) {\n super(`HELIX Vault asset cannot be loaded by the web SDK (${kind}, ${mimeType}): ${reason}`);\n this.name = 'VaultUnsupportedRuntimeError';\n }\n}"; readonly kind: "ClassDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "value_and_type"; readonly name: "VaultUnsupportedRuntimeError"; }, { readonly category: "standalone_tooling"; readonly declarations: readonly [{ readonly declaration: "export type VaultVfxMetadata = VaultMetadataBase & {\n vfx: {\n schemaVersion: string;\n deviceTier: 'mobile' | 'desktop' | 'cinematic';\n effectType: 'particle' | 'beam' | 'trail' | 'flipbook';\n boundsMeters: [number, number, number];\n portability: 'renderer-neutral-contract-draft';\n runtimeCompatibility: VaultRuntime[];\n loop: boolean;\n maxParticles: number;\n drawCalls: number;\n decodedTextureMemoryBytes: number;\n limits: {\n maxParticles: number;\n spawnRatePerSecond: number;\n lifetimeSeconds: number;\n speedMetersPerSecond: number;\n sizeMeters: number;\n boundsMeters: number;\n beamLengthMeters: number;\n beamSegments: number;\n trailPoints: number;\n };\n textures: Array<{\n role: 'sprite' | 'flipbook' | 'beam' | 'trail' | 'distortion';\n artifact: VaultImmutableArtifactReference;\n resolvedKind: 'texture' | 'decal';\n colorSpace: 'srgb' | 'linear';\n frames: {\n columns: number;\n rows: number;\n frameCount: number;\n framesPerSecond: number;\n } | null;\n }>;\n particle: {\n textureRole: string;\n shape: 'point' | 'sphere' | 'box' | 'cone';\n spawnRatePerSecond: number;\n lifetimeSeconds: [number, number];\n speedMetersPerSecond: [number, number];\n sizeMeters: [number, number];\n blendMode: 'alpha' | 'additive' | 'multiply';\n billboard: 'camera' | 'velocity' | 'world';\n } | null;\n beam: {\n textureRole: string;\n widthMeters: [number, number];\n lengthMeters: [number, number];\n maxSegments: number;\n noiseAmplitudeMeters: number;\n blendMode: 'alpha' | 'additive' | 'multiply';\n } | null;\n trail: {\n textureRole: string;\n lifetimeSeconds: number;\n widthMeters: [number, number];\n maxPoints: number;\n minVertexDistanceMeters: number;\n blendMode: 'alpha' | 'additive' | 'multiply';\n } | null;\n flipbook: {\n textureRole: string;\n sizeMeters: [number, number];\n blendMode: 'alpha' | 'additive' | 'multiply';\n } | null;\n };\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/vault.ts"; }]; readonly kind: "type"; readonly name: "VaultVfxMetadata"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export type Vec3 = {\n x: number;\n y: number;\n z: number;\n};"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/multiplayer-contract/state.ts"; }]; readonly kind: "type"; readonly name: "Vec3"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface VehicleActionEnvelope {\n entityId: string;\n authorityEpoch: number;\n seq: number;\n buildDigest: string;\n targetBits?: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "VehicleActionEnvelope"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface VehicleActionFencesMessage {\n entries: Array<{\n entityId: string;\n authorityEpoch: number;\n seq: number;\n }>;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "VehicleActionFencesMessage"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface VehicleComponentActionRequest {\n identity: ModuleIdentity;\n entityId: string;\n action: string;\n args?: Record;\n targetBits?: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/universal-vehicles.ts"; }]; readonly kind: "type"; readonly name: "VehicleComponentActionRequest"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface VehicleDetachActionDescriptor {\n partId: 'hood';\n stateBit: number;\n localTransform: {\n position: [number, number, number];\n rotation: [number, number, number, number];\n };\n collider: {\n shape: 'box';\n halfExtents: [number, number, number];\n };\n massKg: number;\n allowedRoles: VehicleRole[];\n settleAfterMs: number;\n despawnAfterMs: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/universal-vehicles.ts"; }]; readonly kind: "type"; readonly name: "VehicleDetachActionDescriptor"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface VehicleDetachActionRequest {\n identity: ModuleIdentity;\n entityId: string;\n actionId: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/universal-vehicles.ts"; }]; readonly kind: "type"; readonly name: "VehicleDetachActionRequest"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface VehicleDetachActions {\n version: 1;\n actions: Record;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/universal-vehicles.ts"; }]; readonly kind: "type"; readonly name: "VehicleDetachActions"; }, { readonly category: "multiplayer_handle_type"; readonly declarations: readonly [{ readonly declaration: "export interface VehicleEntityRetiredMessage {\n entityId: string;\n authorityEpoch: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/multiplayer-contract/messages.ts"; }]; readonly kind: "type"; readonly name: "VehicleEntityRetiredMessage"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface VehiclePackageArtifact {\n format: 1;\n revision: number;\n checksumSha256: string;\n package: Record;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/universal-vehicles.ts"; }]; readonly kind: "type"; readonly name: "VehiclePackageArtifact"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type VehicleRole = 'owner' | 'driver' | 'occupant' | 'nearby';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/universal-vehicles.ts"; }]; readonly kind: "type"; readonly name: "VehicleRole"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface VehicleSpecialtyComponentInvocation {\n action: string;\n targetBits?: number;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/vehicle-specialty-transport.ts"; }]; readonly kind: "type"; readonly name: "VehicleSpecialtyComponentInvocation"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface VehicleSpecialtyDetachInvocation {\n actionId: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/vehicle-specialty-transport.ts"; }]; readonly kind: "type"; readonly name: "VehicleSpecialtyDetachInvocation"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export function vehicleSpecialtyEntityId(placementId: string): string {\n if (!UUID.test(placementId))\n throw new Error('vehicle specialty placementId is invalid');\n return `uv.${placementId.replace(/-/g, '').slice(0, 24).toLowerCase()}`;\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/vehicle-specialty-placement.ts"; }]; readonly kind: "value"; readonly name: "vehicleSpecialtyEntityId"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface VehicleSpecialtyInvocation {\n functionName: string;\n args: Readonly>;\n itemInstanceId?: string;\n moduleId?: string;\n bundleChecksumSha256?: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/vehicle-specialty-transport.ts"; }]; readonly kind: "type"; readonly name: "VehicleSpecialtyInvocation"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export function vehicleSpecialtyPlacementBinding(identity: VehicleSpecialtyPlacementIdentity): VehicleSpecialtyPlacementBinding & {\n detachActions: VehicleDetachActions | null;\n} {\n if (!identity.itemInstanceId.trim())\n throw new Error('vehicle specialty itemInstanceId is required');\n if (!SHA256.test(identity.bundleChecksumSha256))\n throw new Error('vehicle specialty bundle checksum is invalid');\n if (!Number.isSafeInteger(identity.revision) || identity.revision < 1)\n throw new Error('vehicle specialty revision is invalid');\n if (identity.stateVars.some((name) => !/^[A-Za-z][A-Za-z0-9_]{0,63}$/.test(name))) {\n throw new Error('vehicle specialty stateVars contains an invalid name');\n }\n return {\n placementId: identity.placementId,\n itemInstanceId: identity.itemInstanceId,\n moduleId: vehicleSpecialtyRuntimeModuleId(identity.bundleId, identity.placementId),\n entityId: vehicleSpecialtyEntityId(identity.placementId),\n bundleChecksumSha256: identity.bundleChecksumSha256,\n revision: identity.revision,\n stateVars: [...identity.stateVars],\n detachActions: detachActions(identity.detachActions),\n };\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/vehicle-specialty-placement.ts"; }]; readonly kind: "value"; readonly name: "vehicleSpecialtyPlacementBinding"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface VehicleSpecialtyPlacementBinding extends VehicleSpecialtyRoomBinding {\n placementId: string;\n entityId: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/vehicle-specialty-placement.ts"; }]; readonly kind: "type"; readonly name: "VehicleSpecialtyPlacementBinding"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface VehicleSpecialtyPlacementIdentity {\n placementId: string;\n itemInstanceId: string;\n bundleId: string;\n bundleChecksumSha256: string;\n revision: number;\n stateVars: readonly string[];\n detachActions?: VehicleDetachActions | null;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/vehicle-specialty-placement.ts"; }]; readonly kind: "type"; readonly name: "VehicleSpecialtyPlacementIdentity"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface VehicleSpecialtyPresentationEffect {\n moduleId: string;\n commandId: string;\n index: number;\n serverTick: number;\n event: string;\n payload: Readonly>;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/vehicle-specialty-transport.ts"; }]; readonly kind: "type"; readonly name: "VehicleSpecialtyPresentationEffect"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface VehicleSpecialtyRoomBinding {\n itemInstanceId?: string;\n moduleId: string;\n entityId?: string;\n bundleChecksumSha256: string;\n revision: number;\n stateVars: readonly string[];\n detachActions?: VehicleDetachActions | null;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/vehicle-specialty-transport.ts"; }]; readonly kind: "type"; readonly name: "VehicleSpecialtyRoomBinding"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export class VehicleSpecialtyRoomTransport {\n readonly #room: VehicleSpecialtyRoom;\n readonly #binding: VehicleSpecialtyRoomBinding;\n readonly #detachActionIds: readonly string[];\n readonly #stateSubscribers = new Set();\n readonly #effectSubscribers = new Set();\n readonly #seenEffects = new Set();\n readonly #roomUnsubscribers: Array<() => void> = [];\n #revision = 0;\n #fingerprint = '';\n #latest: VehicleSpecialtyStateSnapshot | null = null;\n #disposed = false;\n constructor(room: VehicleSpecialtyRoom, binding: VehicleSpecialtyRoomBinding) {\n this.#room = room;\n this.#binding = {\n ...binding,\n stateVars: [...binding.stateVars],\n detachActions: binding.detachActions,\n };\n this.#detachActionIds = Object.freeze(Object.keys(binding.detachActions?.actions ?? {}));\n this.#capture();\n const stateUnsubscribe = room.onStateChange(() => {\n if (!this.#disposed)\n this.#capture();\n });\n const effectUnsubscribe = room.onMessage('moduleEffect', (value) => {\n if (!this.#disposed)\n this.#effect(value);\n });\n if (typeof stateUnsubscribe === 'function')\n this.#roomUnsubscribers.push(stateUnsubscribe);\n if (typeof effectUnsubscribe === 'function')\n this.#roomUnsubscribers.push(effectUnsubscribe);\n }\n invoke(invocation: VehicleSpecialtyInvocation): void {\n if (this.#disposed)\n throw new Error('Vehicle specialty transport is disposed');\n const args: Record = {};\n for (const [name, value] of Object.entries(invocation.args)) {\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean')\n args[name] = value;\n }\n this.#room.sendModuleAction({\n identity: {\n ...(this.#binding.itemInstanceId ? { itemInstanceId: this.#binding.itemInstanceId } : {}),\n moduleId: this.#binding.moduleId,\n bundleChecksumSha256: this.#binding.bundleChecksumSha256,\n revision: this.#binding.revision,\n },\n action: invocation.functionName,\n args,\n });\n }\n detachActionIds(): readonly string[] {\n return [...this.#detachActionIds];\n }\n invokeDetach(invocation: VehicleSpecialtyDetachInvocation): boolean {\n if (this.#disposed)\n throw new Error('Vehicle specialty transport is disposed');\n if (!this.#binding.entityId || !this.#detachActionIds.includes(invocation.actionId) ||\n typeof this.#room.sendVehicleDetachAction !== 'function')\n return false;\n return this.#room.sendVehicleDetachAction({\n identity: {\n ...(this.#binding.itemInstanceId ? { itemInstanceId: this.#binding.itemInstanceId } : {}),\n moduleId: this.#binding.moduleId,\n bundleChecksumSha256: this.#binding.bundleChecksumSha256,\n revision: this.#binding.revision,\n },\n entityId: this.#binding.entityId,\n actionId: invocation.actionId,\n });\n }\n invokeComponent(invocation: VehicleSpecialtyComponentInvocation): boolean {\n if (this.#disposed ||\n !this.#binding.entityId ||\n typeof this.#room.sendVehicleComponentAction !== 'function' ||\n !VEHICLE_COMPONENT_ACTION.test(invocation.action) ||\n (invocation.targetBits !== undefined && (!Number.isSafeInteger(invocation.targetBits) ||\n invocation.targetBits < 0 ||\n invocation.targetBits > 0xffff)))\n return false;\n return this.#room.sendVehicleComponentAction({\n identity: {\n ...(this.#binding.itemInstanceId ? { itemInstanceId: this.#binding.itemInstanceId } : {}),\n moduleId: this.#binding.moduleId,\n bundleChecksumSha256: this.#binding.bundleChecksumSha256,\n revision: this.#binding.revision,\n },\n entityId: this.#binding.entityId,\n action: invocation.action,\n ...(invocation.targetBits === undefined ? {} : { targetBits: invocation.targetBits }),\n });\n }\n subscribeState(subscriber: StateSubscriber): () => void {\n if (this.#disposed)\n return () => undefined;\n this.#stateSubscribers.add(subscriber);\n if (this.#latest)\n subscriber(this.#latest, { initial: true });\n return () => void this.#stateSubscribers.delete(subscriber);\n }\n subscribeEffect(subscriber: EffectSubscriber): () => void {\n if (this.#disposed)\n return () => undefined;\n this.#effectSubscribers.add(subscriber);\n return () => void this.#effectSubscribers.delete(subscriber);\n }\n snapshot(): VehicleSpecialtyStateSnapshot | null {\n return this.#latest ? { ...this.#latest, vars: { ...this.#latest.vars } } : null;\n }\n dispose(): void {\n if (this.#disposed)\n return;\n this.#disposed = true;\n for (const unsubscribe of this.#roomUnsubscribers.splice(0))\n unsubscribe();\n this.#stateSubscribers.clear();\n this.#effectSubscribers.clear();\n this.#seenEffects.clear();\n this.#latest = null;\n }\n #capture(): void {\n const vars: Record = {};\n const view = this.#room.module(this.#binding.moduleId).vars;\n for (const name of this.#binding.stateVars)\n vars[name] = view.raw(name);\n const fingerprint = JSON.stringify(vars);\n if (fingerprint === this.#fingerprint && this.#latest)\n return;\n this.#fingerprint = fingerprint;\n this.#latest = {\n ...(this.#binding.itemInstanceId ? { itemInstanceId: this.#binding.itemInstanceId } : {}),\n moduleId: this.#binding.moduleId,\n bundleChecksumSha256: this.#binding.bundleChecksumSha256,\n revision: ++this.#revision,\n serverTick: this.#room.state.serverTick,\n vars,\n };\n for (const subscriber of this.#stateSubscribers)\n subscriber(this.#latest, { initial: false });\n }\n #effect(value: unknown): void {\n if (!isRecord(value) || value.moduleId !== this.#binding.moduleId)\n return;\n if (typeof value.commandId !== 'string' || !Number.isSafeInteger(value.index) ||\n typeof value.serverTick !== 'number' || typeof value.event !== 'string' || !isRecord(value.payload))\n return;\n const key = `${value.commandId}:${value.index}`;\n if (this.#seenEffects.has(key))\n return;\n if (this.#seenEffects.size >= MAX_SEEN_EFFECTS) {\n const oldest = this.#seenEffects.values().next().value as string | undefined;\n if (oldest !== undefined)\n this.#seenEffects.delete(oldest);\n }\n this.#seenEffects.add(key);\n const effect = value as unknown as VehicleSpecialtyPresentationEffect;\n for (const subscriber of this.#effectSubscribers)\n subscriber(effect);\n }\n}"; readonly kind: "ClassDeclaration"; readonly source: "src/vehicle-specialty-transport.ts"; }]; readonly kind: "value_and_type"; readonly name: "VehicleSpecialtyRoomTransport"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export function vehicleSpecialtyRuntimeModuleId(bundleId: string, placementId: string): string {\n if (!BUNDLE.test(bundleId))\n throw new Error('vehicle specialty bundleId is invalid');\n if (!UUID.test(placementId))\n throw new Error('vehicle specialty placementId is invalid');\n const safeSlug = bundleId.replace(/[^a-z0-9-]/g, '').slice(0, 13) || 'item';\n return `itx.${safeSlug}.${placementId.replace(/-/g, '').slice(0, 12).toLowerCase()}`;\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/vehicle-specialty-placement.ts"; }]; readonly kind: "value"; readonly name: "vehicleSpecialtyRuntimeModuleId"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface VehicleSpecialtyStateSnapshot {\n itemInstanceId?: string;\n moduleId: string;\n bundleChecksumSha256: string;\n revision: number;\n serverTick: number;\n vars: Readonly>;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/vehicle-specialty-transport.ts"; }]; readonly kind: "type"; readonly name: "VehicleSpecialtyStateSnapshot"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface VerbBinding {\n action: StandardModeAction;\n label: string;\n touch: TouchPresentation;\n continuous?: boolean;\n repeatMs?: number;\n disabled?: boolean;\n disabledReason?: string;\n exclusiveGroup?: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "VerbBinding"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface VerbEvent {\n phase: VerbPhase;\n value?: number;\n vector?: {\n x: number;\n y: number;\n };\n at?: {\n x: number;\n y: number;\n };\n heldMs?: number;\n source: 'key' | 'pointer' | 'touch' | 'gamepad' | 'ui' | 'script';\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "VerbEvent"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type VerbHandler = (event: VerbEvent, verb: string) => void;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "VerbHandler"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type VerbPhase = 'start' | 'end' | 'repeat';"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "VerbPhase"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type VerbSink = (verb: string, event: VerbEvent) => void;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/interaction-mode.ts"; }]; readonly kind: "type"; readonly name: "VerbSink"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export type WorldDeviceDefinitionResolver = (reference: DeviceDefinitionReference) => Promise;"; readonly kind: "TypeAliasDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "type"; readonly name: "WorldDeviceDefinitionResolver"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export class WorldDeviceHost {\n readonly #presentations = new Map();\n readonly #unsubscribers: Array<() => void> = [];\n #disposed = false;\n #serverOffsetMs = 0;\n #clockAnchored = false;\n constructor(readonly room: Pick, readonly adapter: WorldDevicePresentationAdapter, readonly resolveDefinition: WorldDeviceDefinitionResolver) {\n this.#sampleClock();\n }\n now = (): number => Date.now() + this.#serverOffsetMs;\n async mount(spawn: WorldDeviceMount): Promise {\n if (this.#disposed)\n throw new Error('World Device host is disposed');\n const reference = spawn.deviceDefinition;\n if (!reference)\n return false;\n const definition = await this.resolveDefinition(reference);\n if (definition.format !== 'helix.device' ||\n definition.formatVersion !== 1 ||\n definition.id !== reference.id ||\n definition.version !== reference.version) {\n throw new Error(`Device definition identity mismatch for ${reference.id}@${reference.version}`);\n }\n if (definition.compatibility &&\n !definition.compatibility.hosts.includes('world')) {\n throw new Error(`Device ${definition.id} does not support World hosts`);\n }\n const requestedCapabilities = new Set([\n ...(definition.compatibility?.requiredCapabilities ?? []),\n ...(definition.capabilities ?? []),\n ]);\n for (const capability of requestedCapabilities) {\n if (!PLATFORM_DEVICE_CAPABILITIES.has(capability) &&\n !this.adapter.capabilities.has(capability)) {\n throw new Error(`World Device host is missing capability ${capability}`);\n }\n }\n for (const interaction of definition.interactions) {\n const target = interaction.presentation;\n if (target === undefined)\n continue;\n if (!target || target.kind !== 'webPanel' || typeof target.app !== 'string' || !target.app || target.app.length > 64 ||\n Object.keys(target).some(key => key !== 'kind' && key !== 'app')) {\n throw new Error('Device interaction presentation must name a declared webPanel app');\n }\n if (!requestedCapabilities.has('app.web.panel'))\n throw new Error('Device webPanel requires app.web.panel capability');\n const raw = interaction as unknown as Record;\n if (raw.action !== undefined || interaction.control !== undefined || raw.surface === 'internal') {\n throw new Error('Device webPanel cannot declare action, control or internal surface');\n }\n const app = definition.apps?.[target.app];\n if (!app || !['localWeb', 'remoteWeb'].includes(app.type) || !app.entry) {\n throw new Error('Device webPanel requires a declared localWeb or remoteWeb entry');\n }\n if (!requestedCapabilities.has(app.type === 'remoteWeb' ? 'app.web.remote' : 'app.web.local')) {\n throw new Error('Device webPanel app capability is missing');\n }\n if (app.type === 'remoteWeb') {\n const url = new URL(app.entry);\n if (url.protocol !== 'https:' || url.username || url.password || !app.allowedOrigins?.includes(url.origin) ||\n app.allowedOrigins.some(origin => { try {\n const allowed = new URL(origin);\n return allowed.protocol !== 'https:' || allowed.origin !== origin;\n }\n catch {\n return true;\n } })) {\n throw new Error('Device webPanel requires a declared HTTPS origin without credentials');\n }\n }\n else {\n const path = new URL(app.entry, 'https://device-host.invalid');\n if (!app.entry.startsWith('/device-apps/') || app.entry.includes('\\\\') || app.entry.split(/[/?#]/).includes('..') ||\n !/^\\/device-apps\\/[A-Za-z0-9][A-Za-z0-9/_.-]*$/.test(path.pathname) || path.origin !== 'https://device-host.invalid' ||\n decodeURIComponent(path.pathname) !== path.pathname || app.allowedOrigins !== undefined) {\n throw new Error('Device webPanel local entry must remain within /device-apps/');\n }\n }\n const graph = definition.graph as {\n triggers?: Array<{\n on?: string;\n interaction?: string;\n }>;\n } | undefined;\n if (graph?.triggers?.some(trigger => trigger.on === 'interact' && trigger.interaction === interaction.id)) {\n throw new Error('Device webPanel cannot trigger a state graph');\n }\n }\n const moduleId = deviceRuntimeModuleId(definition.id, spawn.placementId);\n const presentation = await this.adapter.mount({\n spawn,\n definition,\n now: this.now,\n interact: (interactionId, args = {}) => {\n if (definition.interactions.find(interaction => interaction.id === interactionId)?.presentation) {\n throw new Error('Device webPanel is viewer-local and cannot be sent as a room action');\n }\n this.room.sendAction(interactionId, args, moduleId);\n },\n });\n if (this.#disposed) {\n await presentation.dispose();\n return false;\n }\n this.#presentations.set(spawn.placementId, presentation);\n const sync = () => {\n this.#sampleClock();\n const vars = this.room.module(moduleId).vars;\n presentation.applyState(Object.fromEntries(Object.keys(definition.state).map((name) => [name, vars.raw(name)])));\n };\n sync();\n const unsubscribe = this.room.onStateChange(sync);\n if (typeof unsubscribe === 'function')\n this.#unsubscribers.push(unsubscribe);\n return true;\n }\n async dispose(): Promise {\n if (this.#disposed)\n return;\n this.#disposed = true;\n for (const unsubscribe of this.#unsubscribers.splice(0))\n unsubscribe();\n for (const presentation of this.#presentations.values()) {\n await presentation.dispose();\n }\n this.#presentations.clear();\n }\n #sampleClock(): void {\n const serverTimeMs = Number(this.room.state.serverTimeMs);\n if (Number.isFinite(serverTimeMs) && serverTimeMs > 0) {\n const sample = serverTimeMs - Date.now();\n if (!this.#clockAnchored) {\n this.#serverOffsetMs = sample;\n this.#clockAnchored = true;\n return;\n }\n const correction = Math.max(-250, Math.min(250, sample - this.#serverOffsetMs));\n this.#serverOffsetMs += correction * 0.2;\n }\n }\n}"; readonly kind: "ClassDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "value_and_type"; readonly name: "WorldDeviceHost"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface WorldDevicePresentation {\n applyState(state: Readonly>): void;\n dispose(): void | Promise;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "type"; readonly name: "WorldDevicePresentation"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface WorldDevicePresentationAdapter {\n readonly capabilities: ReadonlySet;\n mount(input: {\n spawn: WorldDeviceMount;\n definition: DeviceDefinitionV1;\n now: () => number;\n interact: (interactionId: string, args?: Record) => void;\n }): WorldDevicePresentation | Promise;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "type"; readonly name: "WorldDevicePresentationAdapter"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export function deviceRuntimeModuleId(definitionId: string, placementId: string): string {\n const slug = definitionId.replace(/[^a-z0-9-]/g, '').slice(0, 13) || 'device';\n const identity = placementId.replace(/-/g, '').slice(0, 12).toLowerCase();\n return `dev.${slug}.${identity}`;\n}"; readonly kind: "FunctionDeclaration"; readonly source: "src/devices.ts"; }]; readonly kind: "value"; readonly name: "worldDeviceRuntimeModuleId"; }, { readonly category: "implementation_symbol"; readonly declarations: readonly [{ readonly declaration: "export interface WorldSpawn {\n placementId: string;\n instanceId: string;\n itemId: string;\n worldId: string;\n ownerUserId: string;\n ownerUsername: string | null;\n kind: string;\n usage: string;\n name: string;\n thumbnailUrl: string | null;\n modelUrl: string | null;\n vehiclePackage: VehiclePackageArtifact | null;\n deviceDefinition: {\n id: string;\n version: string;\n } | null;\n transform: Record;\n state: Record;\n spawnedAt: string;\n}"; readonly kind: "InterfaceDeclaration"; readonly source: "src/universal-vehicles.ts"; }]; readonly kind: "type"; readonly name: "WorldSpawn"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "const XR_INTERACTION_PROMPT_EVENT = 'helix:interaction-prompt';"; readonly kind: "VariableDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "value"; readonly name: "XR_INTERACTION_PROMPT_EVENT"; }, { readonly category: "runtime_facade"; readonly declarations: readonly [{ readonly declaration: "const XR_SESSION_EVENT = 'helix:xr-session';"; readonly kind: "VariableDeclaration"; readonly source: "src/protocol.ts"; }]; readonly kind: "value"; readonly name: "XR_SESSION_EVENT"; }]; }; readonly purchaseStatusMeanings: { readonly AlreadyOwned: { readonly money: "not_charged"; readonly ownsAfter: true; }; readonly Cancelled: { readonly money: "unknown"; readonly ownsAfter: false; }; readonly Claimed: { readonly money: "not_charged"; readonly ownsAfter: true; }; readonly Failed: { readonly money: "not_charged"; readonly ownsAfter: false; }; readonly Granted: { readonly money: "charged"; readonly ownsAfter: true; }; readonly InsufficientFunds: { readonly money: "not_charged"; readonly ownsAfter: false; }; readonly MaxPerUserReached: { readonly money: "not_charged"; readonly ownsAfter: false; }; readonly NotFound: { readonly money: "unknown"; readonly ownsAfter: false; }; readonly NotInWorld: { readonly money: "not_charged"; readonly ownsAfter: false; }; readonly Pending: { readonly money: "unknown"; readonly ownsAfter: false; }; readonly PriceChanged: { readonly money: "not_charged"; readonly ownsAfter: false; }; readonly ProductInactive: { readonly money: "not_charged"; readonly ownsAfter: false; }; readonly ProductNotFound: { readonly money: "not_charged"; readonly ownsAfter: false; }; readonly RateLimited: { readonly money: "not_charged"; readonly ownsAfter: false; }; readonly Timeout: { readonly money: "unknown"; readonly ownsAfter: false; }; readonly Unauthorized: { readonly money: "not_charged"; readonly ownsAfter: false; }; }; readonly schema: "helix.runtime-contract"; readonly sdk: { readonly multiplayerContractVersion: 34; readonly package: "@hypersoniclabs/helix-sdk"; readonly packageVersion: "0.1.10"; readonly protocolVersion: 2; }; readonly source: { readonly branch: "helix3"; readonly commit: "1fd29444a3f3635d4ccb5e1feaa6b805281879f4"; readonly fileDigests: { readonly "package.json": "sha256:983cb8d1075c4848738fc06caba7e5409ebad39b136302b723820f297ecf8c18"; readonly "src/action-surface.ts": "sha256:e0bf72b6c9333348d15b22b53fd91365cc9024f879abf78a968759f2077b2927"; readonly "src/camera.ts": "sha256:6597e735387b2a8d07ee4277e890ec0d730a0bac3811c32e27fff1a9f6fe17e9"; readonly "src/device-definition-resolver.ts": "sha256:2afebf980e276f87a9849d3ced3bd9fc37ceae04b15ca20a9918aac37b77c6ca"; readonly "src/device-trial.ts": "sha256:22b6535f959e1473b04e510949fb010b72c35b86cc8a52e86d75c2c2aa743cea"; readonly "src/devices.ts": "sha256:f6000e8e8397d82cf1b9768b81b738eaee0e033710109e2a9c46438cf6f6e3d6"; readonly "src/dreamerAudio.ts": "sha256:d16fb25ec175199777058db852dce64924913daef42e62fd65d326f28019407f"; readonly "src/index.ts": "sha256:71e7a2a99e41d754c19a1ee6132040462a326e04180b8becfdc53008ed0888bb"; readonly "src/interaction-mode.ts": "sha256:17a7fa4eaf8f51ac11c2bc84d862a95a463b867b59d1fc01bc3296b9644a8304"; readonly "src/matchmaking.ts": "sha256:fedd9f86b15280d2af2441a4407ace86529518d48b0d363c4a9a4d8c24b61b0f"; readonly "src/materials.ts": "sha256:735b17d42c30b96aa993225500a059875a7c4d2406d0bb076817889cdc5255c4"; readonly "src/multiplayer-accessors.ts": "sha256:92434d2a4f04d330aa4445ef58263594c22c297b43185cc7291cdf2bb9e03bc5"; readonly "src/multiplayer-contract/credential.ts": "sha256:8c6c914a18ad628828b8e1124c529b3073dbf2d586296f3bf3b2352d14b66a65"; readonly "src/multiplayer-contract/final-rest.ts": "sha256:43e67e92afd345c0350ed908f0f89b238bc32a3e958990c34401869ddef1a097"; readonly "src/multiplayer-contract/index.ts": "sha256:62a97049323ddc913834cc75405fae4f1c7f74a5acc8c4c2ee1d139025098911"; readonly "src/multiplayer-contract/messages.ts": "sha256:1fe3d98eb6c14e8af9c371f0c3096818c30fc6c96b02c6cf44d3a0714577ae30"; readonly "src/multiplayer-contract/room.ts": "sha256:1c857137854149233181d231908ac57f67c70de458f904985315eae315b33562"; readonly "src/multiplayer-contract/state.ts": "sha256:2a52c27dafd006bc6acd275c79494ff36c0e9fb5d5c6704a99931f723cf88684"; readonly "src/multiplayer.ts": "sha256:cb5cb685db7cf38e45ebebc08e184932d48a2b2a6c693066af0918ce5068a049"; readonly "src/protocol.ts": "sha256:43a3d13c3c6cfcf413af7c4b24ad3b72288b2aeef6fe32020b4308766ddbc0cf"; readonly "src/universal-vehicles.ts": "sha256:ef3e214be2477952487e395021319acd7a9ae3849419a4544ed2f90962ab3946"; readonly "src/vault.ts": "sha256:8cf2091aac5167ba4789aaad062d5f3a55e07657e3d36fb0503a44f66abddaa0"; readonly "src/vehicle-specialty-placement.ts": "sha256:92421b45863564057fc04a3a818b192808d5ef3d83100e6b49d2c228c35f3ceb"; readonly "src/vehicle-specialty-transport.ts": "sha256:60d48876feac6c72e77a96d81b9188de402dced46f92b8dbb368a14029c6941a"; readonly "src/voice.ts": "sha256:6a0a95de2c276f42e7ccbe8eaf769906ae8e93cc6cf2de027bc520e2f319d93e"; }; readonly repository: "hypersonic-laboratories/helix-web-sdk"; }; readonly stableErrors: { readonly AUTH_REQUIRED: "A signed-in player session is required."; readonly BACKEND_UNAVAILABLE: "The authoritative service could not be reached; clients must not fabricate a success or zero value."; readonly CAPABILITY_DENIED: "The World manifest does not grant the required capability."; readonly CONFLICT: "The request conflicts with current versioned state."; readonly CORRECTION_REQUIRED: "The audited Web behavior is not safe to canonize across runtimes."; readonly INVALID_ARGUMENT: "The request failed deterministic local or platform validation."; readonly RATE_LIMITED: "The caller exceeded the platform rate policy."; readonly REQUIRES_MANAGED_AUTHORITY: "The operation requires a HELIX-managed workload."; readonly RUNTIME_CAPABILITY_UNAVAILABLE: "The runtime reported at run time that it cannot perform this operation (see camera.capabilities). Distinct from UNAVAILABLE, which is a STATIC claim about a method on a runtime: this is a live fact that can change back, so a caller disables the control and keeps listening rather than concluding the method does not exist."; readonly TIMEOUT: "The result is unresolved; retry with the same idempotency key when one exists."; readonly UNAVAILABLE: "The service is not implemented for this runtime or profile."; }; readonly standaloneFactories: { readonly captureCanvas: { readonly input: "source: HTMLCanvasElement, opts?: CaptureOptions"; readonly output: "Promise"; readonly scope: "web_camera_implementation"; readonly signature: "(source: HTMLCanvasElement, opts?: CaptureOptions) => Promise"; }; readonly createDreamerAudioClient: { readonly input: "options: DreamerAudioClientOptions"; readonly output: "DreamerAudioClient"; readonly scope: "creator_time_generation"; readonly signature: "(options: DreamerAudioClientOptions) => DreamerAudioClient"; }; readonly createMaterialLibrary: { readonly input: "assetBaseUrl: string, catalog: HelixMaterialCatalog"; readonly output: "HelixMaterialLibrary"; readonly scope: "web_material_implementation"; readonly signature: "(assetBaseUrl: string, catalog: HelixMaterialCatalog) => HelixMaterialLibrary"; }; readonly createRoomAccessors: { readonly input: "sessionId: string, state: () => AccessorRoomState | null | undefined"; readonly output: "RoomAccessors"; readonly scope: "multiplayer_read_accessors"; readonly signature: "(sessionId: string, state: () => AccessorRoomState | null | undefined) => RoomAccessors"; }; readonly createVarsView: { readonly input: "source: () => VarsBag"; readonly output: "VarsView"; readonly scope: "multiplayer_read_accessors"; readonly signature: "(source: () => VarsBag) => VarsView"; }; readonly createVaultClient: { readonly input: "options: VaultClientOptions"; readonly output: "VaultClient"; readonly scope: "creator_and_runtime_asset_delivery"; readonly signature: "(options: VaultClientOptions) => VaultClient"; }; readonly createVaultLoadPlan: { readonly input: "resolved: VaultResolvedAsset"; readonly output: "VaultLoadPlan"; readonly scope: "runtime_specific_artifact_selection"; readonly signature: "(resolved: VaultResolvedAsset) => VaultLoadPlan"; }; readonly cropRectForAspect: { readonly input: "w: number, h: number, aspect?: CameraAspect"; readonly output: "CropRect"; readonly scope: "camera_geometry"; readonly signature: "(w: number, h: number, aspect?: CameraAspect) => CropRect"; }; }; readonly types: { readonly enums: { readonly Authority: readonly ["client", "shell_player", "platform", "world_server", "profile_dependent"]; readonly AuthorityProfile: readonly ["client", "preview", "listen", "managed_server"]; readonly Availability: readonly ["available", "conditional", "unavailable", "correction_required"]; readonly CameraAspect: readonly ["portrait", "landscape", "square", "free"]; readonly CameraControlTarget: readonly ["camera", "avatar"]; readonly CameraDroneLockMode: readonly ["free", "lock", "orbit"]; readonly CameraFilterId: readonly ["original", "vivid", "warm", "cool", "mono"]; readonly CameraLensPreset: readonly [0.5, 1, 2, 3, 5]; readonly CameraMediaMode: readonly ["photo", "video"]; readonly CameraSessionState: readonly ["inactive", "device-hold", "rear", "selfie", "drone"]; readonly CameraSpatialMode: readonly ["rear", "selfie", "drone"]; readonly CameraTimerSeconds: readonly [0, 3, 10]; readonly HelixDeviceFormFactor: readonly ["phone", "tablet"]; readonly HelixMatchmakingErrorCode: readonly ["unknown-queue", "already-queued", "already-matched", "not-party-leader", "party-too-large", "party-changed", "guests-cannot-queue", "rate-limited", "missing-permission", "unavailable", "not-ready", "invalid-argument", "request-failed"]; readonly HelixNotificationKind: readonly ["success", "failure", "notification", "message"]; readonly HelixPartyErrorCode: readonly ["not-party-leader", "cannot-invite", "party-full", "too-many-invites", "already-in-party", "party-changed", "not-in-party", "unknown-party-member", "invite-not-found", "invite-expired", "code-not-found", "guests-cannot-party", "rate-limited", "missing-permission", "unavailable", "not-ready", "invalid-argument", "request-failed"]; readonly HelixPromptState: readonly ["default", "available", "locked", "busy"]; readonly HelixVoiceMicMode: readonly ["ptt", "open", "muted"]; readonly HelixVoicePermission: readonly ["prompt", "granted", "denied"]; readonly LeaderboardOrder: readonly ["desc", "asc"]; readonly PurchaseStatus: readonly ["Pending", "Granted", "Claimed", "AlreadyOwned", "InsufficientFunds", "MaxPerUserReached", "ProductInactive", "ProductNotFound", "NotInWorld", "Unauthorized", "RateLimited", "Cancelled", "Failed", "Timeout", "NotFound", "PriceChanged"]; readonly QueueEndReason: readonly ["cancelled", "timeout", "heartbeat-lapsed", "member-absent", "party-changed", "build-changed", "queue-removed", "replaced", "ended", "heartbeat-lost", "match-expired", "refused", "session-changed", "left"]; readonly QueueState: readonly ["none", "waiting", "matched"]; readonly TransportOwner: readonly ["local", "shell", "direct", "network_provider", "voice_provider"]; readonly VaultRuntime: readonly ["web", "unreal"]; }; readonly records: { readonly AchievementListResult: { readonly fields: { readonly achievements: "AchievementSummary[]"; readonly earned: "number"; readonly total: "number"; }; }; readonly AchievementMineResult: { readonly fields: { readonly achievements: "AchievementSummary[]"; }; }; readonly AvatarComposition: { readonly fields: { readonly appearance: "object"; readonly appearanceDigest: "string"; readonly base: "object"; readonly colorOverrides: "object"; readonly compositionDigest: "string"; readonly fill: "all|each?"; readonly hiddenSlotIds: "string[]"; readonly hostKind: "character"; readonly instanceThumbnailUrl: "string|null"; readonly itemId: "string"; readonly materialOverrides: "object"; readonly materials: "object"; readonly modelUrl: "string|null"; readonly mountSocket: "string|null?"; readonly slotId: "string"; readonly visibleAddOns: "object[]"; readonly visualOps: "unknown[]"; }; }; readonly Balance: { readonly fields: { readonly coins: "number"; readonly lix: "number"; readonly updatedAt: "string?"; }; }; readonly CameraAim: { readonly fields: { readonly pitch: "number"; readonly yaw: "number"; }; }; readonly CameraFocusPoint: { readonly fields: { readonly x: "number"; readonly y: "number"; }; }; readonly CameraVector3: { readonly fields: { readonly x: "number"; readonly y: "number"; readonly z: "number"; }; }; readonly DataStoreListPage: { readonly fields: { readonly keys: "string[]"; readonly nextCursor: "string?"; }; }; readonly DataStoreListPayload: { readonly fields: { readonly cursor: "string?"; readonly limit: "integer?"; readonly prefix: "string?"; }; }; readonly EquippedAvatar: { readonly fields: { readonly composition: "AvatarComposition|null?"; readonly contentHash: "string|null?"; readonly glbUrl: "string|null"; readonly inventoryItemId: "string|null?"; readonly itemId: "string|null"; readonly skeleton: "string|null"; readonly source: "equipped|auto|default|trial"; }; }; readonly EquippedEmote: { readonly fields: { readonly audio: "string?"; readonly clip: "string"; readonly itemId: "string"; readonly label: "string?"; readonly playback: "oneshot|loop"; readonly slot: "r0|r1|r2|r3|r4|r5|r6|r7|sit|lie"; }; }; readonly EquippedEmotes: { readonly fields: { readonly emotes: "EquippedEmote[]"; }; }; readonly HelixCameraCapability: { readonly fields: { readonly drone: "boolean"; readonly exposureBias: "boolean"; readonly focusPoint: "boolean"; readonly photo: "boolean"; readonly twoHandPose: "boolean"; readonly unavailableReason: "string?"; readonly video: "boolean"; readonly worldAudio: "boolean"; }; }; readonly HelixCameraControl: { readonly fields: { readonly aim: "CameraAim?"; readonly controlTarget: "CameraControlTarget?"; readonly exposureBias: "number?"; readonly filter: "CameraFilterId?"; readonly focusPoint: "CameraFocusPoint?"; readonly media: "CameraMediaMode?"; readonly recording: "boolean?"; readonly session: "CameraSessionState?"; readonly shutter: "boolean?"; readonly spatial: "CameraSpatialMode?"; readonly timerSeconds: "CameraTimerSeconds?"; readonly worldAudio: "boolean?"; readonly zoom: "number?"; }; }; readonly HelixCameraDroneCommand: { readonly fields: { readonly interpolationSeconds: "number?"; readonly lockMode: "CameraDroneLockMode?"; readonly returnToAvatar: "boolean?"; readonly subjectUserId: "string?"; readonly transform: "HelixCameraDroneTransform?"; readonly velocity: "CameraVector3?"; }; }; readonly HelixCameraDroneState: { readonly fields: { readonly droneId: "string"; readonly interpolationSeconds: "number"; readonly lockMode: "CameraDroneLockMode"; readonly returnDistance: "number"; readonly returning: "boolean"; readonly subjectUserId: "string"; readonly transform: "HelixCameraDroneTransform"; readonly velocity: "CameraVector3"; }; }; readonly HelixCameraDroneTransform: { readonly fields: { readonly pitch: "number"; readonly position: "CameraVector3"; readonly roll: "number"; readonly yaw: "number"; }; }; readonly HelixCameraShutter: { readonly fields: { readonly recording: "boolean"; readonly sequence: "integer"; readonly timerRemainingSeconds: "number"; }; }; readonly HelixCameraState: { readonly fields: { readonly aim: "CameraAim"; readonly capability: "HelixCameraCapability"; readonly controlTarget: "CameraControlTarget"; readonly drone: "HelixCameraDroneState?"; readonly exposureBias: "number?"; readonly filter: "CameraFilterId"; readonly focusPoint: "CameraFocusPoint?"; readonly lens: "CameraLensPreset"; readonly media: "CameraMediaMode"; readonly session: "CameraSessionState"; readonly shutter: "HelixCameraShutter"; readonly spatial: "CameraSpatialMode"; readonly timerSeconds: "CameraTimerSeconds"; readonly zoom: "number"; }; }; readonly HelixInitResult: { readonly fields: { readonly customizerSource: "PackageCustomizerSource|null"; readonly customizerSubject: "PackageCustomizerSubject|null"; readonly embedded: "boolean"; readonly runtimeFidelity: "RuntimeFidelityIntent|null"; readonly user: "HelixUser|null"; readonly world: "HelixWorldContext|null"; }; }; readonly HelixMultiplayerState: { readonly fields: { readonly maxPlayers: "number|null"; readonly playerCount: "number"; readonly players: "HelixMultiplayerRosterEntry[]"; readonly roomId: "string"; readonly roomType: "string?"; readonly sessionId: "string"; readonly ticketed: "boolean?"; }; }; readonly HelixPresenceActivity: { readonly fields: { readonly details: "string?"; readonly image: "string?"; readonly joinable: "boolean?"; readonly party: "PartySize?"; readonly state: "string"; }; }; readonly HelixSession: { readonly fields: { readonly expiresAt: "string"; readonly scopes: "string[]"; readonly token: "string"; readonly trial: "HelixTrial?"; readonly user: "HelixUser"; }; }; readonly HelixUser: { readonly fields: { readonly displayName: "string|null"; readonly id: "string"; readonly username: "string"; }; }; readonly HelixVoiceState: { readonly fields: { readonly activeDeviceId: "string?"; readonly audioBlocked: "boolean?"; readonly available: "boolean"; readonly channelId: "string?"; readonly connected: "boolean"; readonly devices: "HelixVoiceDevice[]"; readonly error: "string?"; readonly micMode: "HelixVoiceMicMode"; readonly permission: "HelixVoicePermission"; readonly pttKey: "string?"; readonly speakingUserIds: "string[]"; readonly transmitting: "boolean"; }; }; readonly HelixWorldContext: { readonly fields: { readonly id: "string"; readonly slug: "string"; readonly title: "string"; }; }; readonly InventoryItem: { readonly fields: { readonly avatarSlot: "string|null?"; readonly category: "string?"; readonly description: "string|null?"; readonly equipped: "boolean?"; readonly id: "string?"; readonly itemId: "string"; readonly kind: "string?"; readonly metadata: "object?"; readonly quantity: "number"; readonly socket: "string|null?"; readonly subCategory: "string|null?"; readonly thumbnailUrl: "string|null?"; readonly title: "string"; }; }; readonly LeaderboardPage: { readonly fields: { readonly entries: "LeaderboardEntry[]"; readonly truncated: "boolean"; }; }; readonly LeaderboardSubmitResult: { readonly fields: { readonly best: "number|null"; readonly updated: "boolean"; }; }; readonly ListenAdmissionResult: { readonly fields: { readonly admitted: "boolean"; readonly joinerUserId: "string?"; readonly reason: "string?"; readonly seatId: "string?"; }; }; readonly ListenReleaseResult: { readonly fields: { readonly released: "boolean"; }; }; readonly MatchFound: { readonly fields: { readonly expiresAt: "number"; readonly instanceId: "string"; readonly roomType: "string"; readonly ticketId: "string"; }; }; readonly PackageCustomizerContext: { readonly fields: { readonly source: "PackageCustomizerSource|null"; readonly subject: "PackageCustomizerSubject|null"; }; }; readonly Party: { readonly fields: { readonly code: "PartyCode?"; readonly id: "string"; readonly leaderId: "string"; readonly maxSize: "integer"; readonly members: "PartyMember[]"; }; }; readonly PartyCode: { readonly fields: { readonly code: "string"; readonly expiresAt: "number"; }; }; readonly PartyInvite: { readonly fields: { readonly expiresAt: "number"; readonly from: "PartyMember"; readonly id: "string"; readonly partyId: "string"; }; }; readonly PartyInviteReceipt: { readonly fields: { readonly expiresAt: "number"; readonly inviteId: "string"; }; }; readonly PartyMember: { readonly fields: { readonly displayName: "string"; readonly userId: "string"; }; }; readonly PartyState: { readonly fields: { readonly invites: "PartyInvite[]"; readonly party: "Party|null"; }; }; readonly PurchaseOptions: { readonly fields: { readonly idempotencyKey: "string?"; readonly quantity: "integer?"; }; }; readonly PurchaseResult: { readonly fields: { readonly balanceAfterLix: "number?"; readonly completed: "boolean"; readonly itemId: "string|null?"; readonly priceLix: "number?"; readonly receipt: "string?"; readonly status: "PurchaseStatus"; }; }; readonly QueueStatus: { readonly fields: { readonly match: "MatchFound?"; readonly queueId: "string?"; readonly reason: "QueueEndReason?"; readonly serverReason: "string?"; readonly status: "QueueState"; readonly waiting: "QueueWaiting?"; }; }; readonly QueueWaiting: { readonly fields: { readonly needed: "integer"; readonly players: "integer"; }; }; readonly RuntimeError: { readonly fields: { readonly code: "StableError"; readonly message: "string"; readonly remediation: "string?"; readonly retryable: "boolean"; }; }; readonly RuntimeFidelityIntent: { readonly fields: { readonly renderScaleOverride: "RuntimeFidelityRenderScale|null"; readonly requestedVisualTier: "RuntimeFidelityVisualTier"; readonly runtimeProfileQuality: "RuntimeProfileQuality|null"; readonly version: "1"; }; }; readonly SavedPhoto: { readonly fields: { readonly assetId: "string"; readonly createdAt: "string"; readonly thumbnailUrl: "string"; readonly url: "string"; readonly worldName: "string"; }; }; }; }; }; export declare const RUNTIME_METHOD_INDEX: { readonly "achievements.list": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["player_access_or_public_view"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["player_access_or_public_view"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["player_access_or_public_view"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["player_access_or_public_view"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; readonly "achievements.mine": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; readonly "analytics.track": { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "runtime_platform_must_not_be_hardcoded_web"; readonly credentials: readonly ["world_session_or_anonymous"]; readonly errors: readonly ["CORRECTION_REQUIRED"]; readonly idempotency: "event_id"; readonly input: "eventName: AnalyticsEventName, input?: AnalyticsTrackInput"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "runtime_platform_must_not_be_hardcoded_web"; readonly credentials: readonly ["world_session_or_anonymous"]; readonly idempotency: "event_id"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "runtime_platform_must_not_be_hardcoded_web"; readonly credentials: readonly ["world_session_or_anonymous"]; readonly idempotency: "event_id"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "runtime_platform_must_not_be_hardcoded_web"; }; readonly web: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "runtime_platform_must_not_be_hardcoded_web"; }; }; readonly signature: "(eventName: AnalyticsEventName, input?: AnalyticsTrackInput) => Promise"; readonly transportOwner: "direct"; }; readonly "auth.getUser": { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["auth.profile"]; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["auth.profile"]; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["auth.profile"]; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly ["auth.profile"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; readonly "auth.isAuthenticated": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => boolean"; readonly transportOwner: "local"; }; readonly "auth.onAuthChanged": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "listener: AuthListener) => (("; readonly output: "void)"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(listener: AuthListener) => (() => void)"; readonly transportOwner: "shell"; }; readonly "auth.requestLogin": { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; readonly "avatar.getEquipped": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; readonly preview: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "direct"; }; readonly "avatar.getEquippedForUser": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "userId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; readonly preview: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(userId: string) => Promise"; readonly transportOwner: "direct"; }; readonly "avatar.getLoadout": { readonly authority: "platform"; readonly availability: "conditional"; readonly correction: "shell_only_until_runtime_token_is_accepted"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "conditional"; readonly correction: "shell_only_until_runtime_token_is_accepted"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "conditional"; readonly correction: "shell_only_until_runtime_token_is_accepted"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "shell_only_until_runtime_token_is_accepted"; }; readonly web: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "shell_only_until_runtime_token_is_accepted"; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; readonly "avatar.onAvatarChanged": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "cb: () => void) => (("; readonly output: "void)"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: () => void) => (() => void)"; readonly transportOwner: "shell"; }; readonly "avatar.openCreator": { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; readonly "avatar.updateLoadout": { readonly authority: "platform"; readonly availability: "conditional"; readonly correction: "shell_only_until_runtime_token_is_accepted"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "optimistic_server_update"; readonly input: "patch: AvatarLoadoutPatch"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "conditional"; readonly correction: "shell_only_until_runtime_token_is_accepted"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "optimistic_server_update"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "conditional"; readonly correction: "shell_only_until_runtime_token_is_accepted"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "optimistic_server_update"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "shell_only_until_runtime_token_is_accepted"; }; readonly web: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "shell_only_until_runtime_token_is_accepted"; }; }; readonly signature: "(patch: AvatarLoadoutPatch) => Promise"; readonly transportOwner: "shell"; }; readonly "camera.available": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => boolean"; readonly transportOwner: "local"; }; readonly "camera.capabilities": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "HelixCameraCapability"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => HelixCameraCapability"; readonly transportOwner: "local"; }; readonly "camera.capture": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "canvas: HTMLCanvasElement, opts?: CaptureOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(canvas: HTMLCanvasElement, opts?: CaptureOptions) => Promise"; readonly transportOwner: "local"; }; readonly "camera.control": { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CORRECTION_REQUIRED", "INVALID_ARGUMENT", "RATE_LIMITED", "RUNTIME_CAPABILITY_UNAVAILABLE", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "control: HelixCameraControl"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["camera.control"]; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["camera.control"]; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["camera.control"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(control: HelixCameraControl) => Promise"; readonly transportOwner: "shell"; }; readonly "camera.flyDrone": { readonly authority: "shell_player"; readonly availability: "unavailable"; readonly correction: "drone_flight_authority_contract_required"; readonly credentials: readonly []; readonly errors: readonly ["UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "command: HelixCameraDroneCommand"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "shell_player"; readonly availability: "unavailable"; readonly correction: "drone_flight_authority_contract_required"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["camera.control"]; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "shell_player"; readonly availability: "unavailable"; readonly correction: "drone_flight_authority_contract_required"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["camera.control"]; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["camera.control"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "unavailable"; readonly bindable: false; readonly correction: "drone_flight_authority_contract_required"; }; readonly web: { readonly availability: "unavailable"; readonly bindable: false; readonly correction: "drone_flight_authority_contract_required"; }; }; readonly signature: "(command: HelixCameraDroneCommand) => Promise"; readonly transportOwner: "shell"; }; readonly "camera.getState": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "HelixCameraState"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => HelixCameraState"; readonly transportOwner: "local"; }; readonly "camera.onStateChanged": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "cb: (state: HelixCameraState) => void) => (("; readonly output: "void)"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (state: HelixCameraState) => void) => (() => void)"; readonly transportOwner: "local"; }; readonly "camera.reportCapability": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT"]; readonly idempotency: "replace_current"; readonly input: "capability: HelixCameraCapability"; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(capability: HelixCameraCapability) => boolean"; readonly transportOwner: "shell"; }; readonly "camera.savePhoto": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "server_defined"; readonly input: "image: Blob | ArrayBuffer | Uint8Array, meta?: { caption?: string; aspect?: CameraAspect; contentType?: string; }"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["camera.capture"]; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["camera.capture"]; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["camera.capture"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(image: Blob | ArrayBuffer | Uint8Array, meta?: { caption?: string; aspect?: CameraAspect; contentType?: string; }) => Promise"; readonly transportOwner: "shell"; }; readonly "customizer.getContext": { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session_or_preview"]; readonly errors: readonly ["AUTH_REQUIRED", "INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "PackageCustomizerContext"; readonly profilePolicies: { readonly client: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session_or_preview"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session_or_preview"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session_or_preview"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => PackageCustomizerContext"; readonly transportOwner: "local"; }; readonly "dataStore.delete": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "optimistic_version"; readonly input: "key: string, options?: DataStoreWriteOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "optimistic_version"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "optimistic_version"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly managed_server: { readonly authority: "world_server"; readonly availability: "unavailable"; readonly correction: "planned_managed_server_route_not_shipped"; readonly credentials: readonly ["managed_workload_credential"]; readonly idempotency: "optimistic_version"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(key: string, options?: DataStoreWriteOptions) => Promise"; readonly transportOwner: "shell"; }; readonly "dataStore.get": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "key: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly managed_server: { readonly authority: "world_server"; readonly availability: "unavailable"; readonly correction: "planned_managed_server_route_not_shipped"; readonly credentials: readonly ["managed_workload_credential"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(key: string) => Promise"; readonly transportOwner: "shell"; }; readonly "dataStore.getEntry": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "key: string"; readonly output: "Promise<{ value: T; version: number; } | null>"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly managed_server: { readonly authority: "world_server"; readonly availability: "unavailable"; readonly correction: "planned_managed_server_route_not_shipped"; readonly credentials: readonly ["managed_workload_credential"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(key: string) => Promise<{ value: T; version: number; } | null>"; readonly transportOwner: "shell"; }; readonly "dataStore.list": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "prefix?: string, opts?: DataStoreListOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly managed_server: { readonly authority: "world_server"; readonly availability: "unavailable"; readonly correction: "planned_managed_server_route_not_shipped"; readonly credentials: readonly ["managed_workload_credential"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(prefix?: string, opts?: DataStoreListOptions) => Promise"; readonly transportOwner: "shell"; }; readonly "dataStore.set": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "optimistic_version"; readonly input: "key: string, value: T, options?: DataStoreWriteOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "optimistic_version"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "optimistic_version"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly managed_server: { readonly authority: "world_server"; readonly availability: "unavailable"; readonly correction: "planned_managed_server_route_not_shipped"; readonly credentials: readonly ["managed_workload_credential"]; readonly idempotency: "optimistic_version"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(key: string, value: T, options?: DataStoreWriteOptions) => Promise"; readonly transportOwner: "shell"; }; readonly "debug.enabled": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly managed_server: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => boolean"; readonly transportOwner: "local"; }; readonly "debug.log": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "...args: unknown[]"; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly managed_server: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(...args: unknown[]) => void"; readonly transportOwner: "local"; }; readonly "debug.onLog": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "cb: (entry: DebugLogEntry) => void) => (("; readonly output: "void)"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly managed_server: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (entry: DebugLogEntry) => void) => (() => void)"; readonly transportOwner: "local"; }; readonly "debug.recent": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "DebugLogEntry[]"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly managed_server: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => DebugLogEntry[]"; readonly transportOwner: "local"; }; readonly "device.openPhone": { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => boolean"; readonly transportOwner: "shell"; }; readonly "device.openTablet": { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => boolean"; readonly transportOwner: "shell"; }; readonly "emotes.getEquipped": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; readonly preview: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_user_identity"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "direct"; }; readonly "inventory.equipItem": { readonly authority: "platform"; readonly availability: "unavailable"; readonly correction: "inventory_instance_equip_contract_required"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "itemId: string"; readonly output: "Promise"; readonly profilePolicies: {}; readonly profiles: readonly []; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "unavailable"; readonly bindable: false; readonly correction: "inventory_instance_equip_contract_required"; }; readonly web: { readonly availability: "unavailable"; readonly bindable: false; readonly correction: "inventory_instance_equip_contract_required"; }; }; readonly signature: "(itemId: string) => Promise"; readonly transportOwner: "shell"; }; readonly "inventory.getMyItems": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; readonly "inventory.getQuantity": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "itemId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(itemId: string) => Promise"; readonly transportOwner: "shell"; }; readonly "inventory.hasItem": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "itemId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(itemId: string) => Promise"; readonly transportOwner: "shell"; }; readonly "inventory.onInventoryChanged": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "cb: () => void) => (("; readonly output: "void)"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: () => void) => (() => void)"; readonly transportOwner: "shell"; }; readonly "leaderboard.submit": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "server_defined"; readonly input: "board: string, score: number, options?: LeaderboardSubmitOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly managed_server: { readonly authority: "world_server"; readonly availability: "unavailable"; readonly correction: "planned_managed_server_route_not_shipped"; readonly credentials: readonly ["managed_workload_credential"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(board: string, score: number, options?: LeaderboardSubmitOptions) => Promise"; readonly transportOwner: "shell"; }; readonly "leaderboard.top": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "board: string, options?: LeaderboardTopOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly managed_server: { readonly authority: "world_server"; readonly availability: "unavailable"; readonly correction: "planned_managed_server_route_not_shipped"; readonly credentials: readonly ["managed_workload_credential"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen", "managed_server"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(board: string, options?: LeaderboardTopOptions) => Promise"; readonly transportOwner: "shell"; }; readonly "listen.close": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "sessionId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "unavailable"; readonly bindable: false; readonly correction: "listen_host_admission_is_native_host_only"; }; }; readonly signature: "(sessionId: string) => Promise"; readonly transportOwner: "shell"; }; readonly "listen.consume": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "sdk_minted_operation_id"; readonly input: "sessionId: string, listenJoinToken: string, connectionId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "sdk_minted_operation_id"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "unavailable"; readonly bindable: false; readonly correction: "listen_host_admission_is_native_host_only"; }; }; readonly signature: "(sessionId: string, listenJoinToken: string, connectionId: string) => Promise"; readonly transportOwner: "shell"; }; readonly "listen.heartbeat": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "sessionId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "unavailable"; readonly bindable: false; readonly correction: "listen_host_admission_is_native_host_only"; }; }; readonly signature: "(sessionId: string) => Promise"; readonly transportOwner: "shell"; }; readonly "listen.release": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "sdk_minted_operation_id"; readonly input: "sessionId: string, seatId: string, connectionId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "sdk_minted_operation_id"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "unavailable"; readonly bindable: false; readonly correction: "listen_host_admission_is_native_host_only"; }; }; readonly signature: "(sessionId: string, seatId: string, connectionId: string) => Promise"; readonly transportOwner: "shell"; }; readonly "locomotion.getEquipped": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "network_provider"; }; readonly "marketplace.getListings": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_or_player_access"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "query?: MarketplaceQuery"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_or_player_access"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_or_player_access"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["public_or_player_access"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(query?: MarketplaceQuery) => Promise"; readonly transportOwner: "shell"; }; readonly "marketplace.getPurchase": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "lookup_by_original_key"; readonly input: "idempotencyKey: string, ref?: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "lookup_by_original_key"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "lookup_by_original_key"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(idempotencyKey: string, ref?: string) => Promise"; readonly transportOwner: "shell"; }; readonly "marketplace.getPurchaseContext": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "ref: string, options?: PurchaseOptions | number"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(ref: string, options?: PurchaseOptions | number) => Promise"; readonly transportOwner: "shell"; }; readonly "marketplace.purchaseDistribution": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "required_or_sdk_managed"; readonly input: "distributionId: string, options?: PurchaseOptions | number"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "required_or_sdk_managed"; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "required_or_sdk_managed"; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(distributionId: string, options?: PurchaseOptions | number) => Promise"; readonly transportOwner: "shell"; }; readonly "marketplace.purchaseDistributionKey": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "required_or_sdk_managed"; readonly input: "key: string, options?: PurchaseOptions | number"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "required_or_sdk_managed"; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "required_or_sdk_managed"; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(key: string, options?: PurchaseOptions | number) => Promise"; readonly transportOwner: "shell"; }; readonly "marketplace.purchaseListing": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "required_or_sdk_managed"; readonly input: "listingId: string, options?: PurchaseOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "required_or_sdk_managed"; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "required_or_sdk_managed"; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(listingId: string, options?: PurchaseOptions) => Promise"; readonly transportOwner: "shell"; }; readonly "marketplace.purchaseProduct": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "required_or_sdk_managed"; readonly input: "productKey: string, options?: PurchaseOptions | number"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "required_or_sdk_managed"; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "required_or_sdk_managed"; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly receipt: "helix-purchase-receipt"; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(productKey: string, options?: PurchaseOptions | number) => Promise"; readonly transportOwner: "shell"; }; readonly "matchmaking.cancel": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "delete_current"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "matchmaking_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "direct"; }; readonly "matchmaking.enqueue": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "server_defined"; readonly input: "queueId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "matchmaking_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(queueId: string) => Promise"; readonly transportOwner: "direct"; }; readonly "matchmaking.onMatch": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "cb: (match: MatchFound) => void) => ("; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "matchmaking_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (match: MatchFound) => void) => () => void"; readonly transportOwner: "direct"; }; readonly "matchmaking.onStatus": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "cb: (status: QueueStatus) => void) => ("; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "matchmaking_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (status: QueueStatus) => void) => () => void"; readonly transportOwner: "direct"; }; readonly "matchmaking.status": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "matchmaking_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "direct"; }; readonly "materials.clearCache": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => void"; readonly transportOwner: "local"; }; readonly "materials.fromCatalog": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "assetBaseUrl: string, catalog: HelixMaterialCatalog"; readonly output: "HelixMaterialLibrary"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(assetBaseUrl: string, catalog: HelixMaterialCatalog) => HelixMaterialLibrary"; readonly transportOwner: "local"; }; readonly "materials.load": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "cache_by_url"; readonly input: "assetBaseUrl: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "cache_by_url"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "cache_by_url"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "cache_by_url"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(assetBaseUrl: string) => Promise"; readonly transportOwner: "local"; }; readonly "multiplayer.configure": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_configuration"; readonly input: "options: { apiBaseUrl: string; }"; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "replace_configuration"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "replace_configuration"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "replace_configuration"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(options: { apiBaseUrl: string; }) => void"; readonly transportOwner: "network_provider"; }; readonly "multiplayer.currentRoomId": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "string | null"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => string | null"; readonly transportOwner: "network_provider"; }; readonly "multiplayer.joinRoom": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session_then_room_credential"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "reservation_defined"; readonly input: "worldId?: string, options?: JoinRoomOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session_then_room_credential"]; readonly idempotency: "reservation_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session_then_room_credential"]; readonly idempotency: "reservation_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(worldId?: string, options?: JoinRoomOptions) => Promise"; readonly transportOwner: "network_provider"; }; readonly "multiplayer.leave": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "network_provider"; }; readonly "multiplayer.switchRoom": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session_then_room_credential"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT"]; readonly idempotency: "reservation_defined"; readonly input: "target: SwitchRoomTarget, options?: SwitchRoomOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session_then_room_credential"]; readonly idempotency: "reservation_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session_then_room_credential"]; readonly idempotency: "reservation_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "network_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "room_hop_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(target: SwitchRoomTarget, options?: SwitchRoomOptions) => Promise"; readonly transportOwner: "network_provider"; }; readonly "notify.failure": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "title: string, message?: string"; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(title: string, message?: string) => boolean"; readonly transportOwner: "shell"; }; readonly "notify.message": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "title: string, message?: string"; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(title: string, message?: string) => boolean"; readonly transportOwner: "shell"; }; readonly "notify.notification": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "title: string, message?: string"; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(title: string, message?: string) => boolean"; readonly transportOwner: "shell"; }; readonly "notify.show": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "notification: HelixNotification"; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(notification: HelixNotification) => boolean"; readonly transportOwner: "shell"; }; readonly "notify.success": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "title: string, message?: string"; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(title: string, message?: string) => boolean"; readonly transportOwner: "shell"; }; readonly "party.accept": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "server_defined"; readonly input: "inviteId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(inviteId: string) => Promise"; readonly transportOwner: "direct"; }; readonly "party.createCode": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "direct"; }; readonly "party.decline": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "delete_current"; readonly input: "inviteId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(inviteId: string) => Promise"; readonly transportOwner: "direct"; }; readonly "party.get": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "direct"; }; readonly "party.invite": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "server_defined"; readonly input: "userId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(userId: string) => Promise"; readonly transportOwner: "direct"; }; readonly "party.join": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "server_defined"; readonly input: "code: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "server_defined"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(code: string) => Promise"; readonly transportOwner: "direct"; }; readonly "party.kick": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "delete_current"; readonly input: "userId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(userId: string) => Promise"; readonly transportOwner: "direct"; }; readonly "party.leave": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "delete_current"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "direct"; }; readonly "party.onChange": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "cb: (state: PartyState) => void) => ("; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (state: PartyState) => void) => () => void"; readonly transportOwner: "direct"; }; readonly "party.onError": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "cb: (error: HelixPartyError) => void) => ("; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (error: HelixPartyError) => void) => () => void"; readonly transportOwner: "direct"; }; readonly "party.onInvite": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "cb: (invite: PartyInvite) => void) => ("; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (invite: PartyInvite) => void) => () => void"; readonly transportOwner: "direct"; }; readonly "party.promote": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "userId: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(userId: string) => Promise"; readonly transportOwner: "direct"; }; readonly "party.revokeCode": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["AUTH_REQUIRED", "BACKEND_UNAVAILABLE", "CAPABILITY_DENIED", "CONFLICT", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "UNAVAILABLE"]; readonly idempotency: "delete_current"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["world_session"]; readonly idempotency: "delete_current"; readonly requiredCapabilities: readonly ["multiplayer"]; readonly transportOwner: "direct"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["multiplayer"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "party_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "direct"; }; readonly "presence.clearActivity": { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "runtime_scoped_presence_authority_required"; readonly credentials: readonly ["world_session_currently_rejected"]; readonly errors: readonly ["CORRECTION_REQUIRED"]; readonly idempotency: "delete_current"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: {}; readonly profiles: readonly []; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "runtime_scoped_presence_authority_required"; }; readonly web: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "runtime_scoped_presence_authority_required"; }; }; readonly signature: "() => Promise"; readonly transportOwner: "direct"; }; readonly "presence.setActivity": { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "runtime_scoped_presence_authority_required"; readonly credentials: readonly ["world_session_currently_rejected"]; readonly errors: readonly ["CORRECTION_REQUIRED"]; readonly idempotency: "replace_current"; readonly input: "activity: HelixPresenceActivity"; readonly output: "Promise"; readonly profilePolicies: {}; readonly profiles: readonly []; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "runtime_scoped_presence_authority_required"; }; readonly web: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "runtime_scoped_presence_authority_required"; }; }; readonly signature: "(activity: HelixPresenceActivity) => Promise"; readonly transportOwner: "direct"; }; readonly "prompts.clear": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "delete_by_prompt_id_or_all"; readonly input: "promptId?: string"; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "delete_by_prompt_id_or_all"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "delete_by_prompt_id_or_all"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "delete_by_prompt_id_or_all"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(promptId?: string) => boolean"; readonly transportOwner: "shell"; }; readonly "prompts.set": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_by_prompt_id"; readonly input: "prompt: HelixInteractionPrompt"; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_by_prompt_id"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_by_prompt_id"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_by_prompt_id"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(prompt: HelixInteractionPrompt) => boolean"; readonly transportOwner: "shell"; }; readonly "purchases.consume": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "sdk_minted_operation_id"; readonly input: "code: string, amount: number"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "sdk_minted_operation_id"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "sdk_minted_operation_id"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(code: string, amount: number) => Promise"; readonly transportOwner: "shell"; }; readonly "purchases.getEntitlements": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; readonly "purchases.getPurchase": { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "lookup_by_original_key"; readonly input: "idempotencyKey: string, ref?: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "lookup_by_original_key"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "lookup_by_original_key"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(idempotencyKey: string, ref?: string) => Promise"; readonly transportOwner: "shell"; }; readonly "purchases.onEntitlementsChanged": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "cb: () => void) => (("; readonly output: "void)"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: () => void) => (() => void)"; readonly transportOwner: "shell"; }; readonly "root.getSessionToken": { readonly authority: "client"; readonly availability: "correction_required"; readonly correction: "web_world_session_is_not_an_unreal_runtime_credential"; readonly credentials: readonly ["world_session"]; readonly errors: readonly ["CORRECTION_REQUIRED"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "string | null"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "conditional"; readonly correction: "web_only_raw_world_session_token"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "conditional"; readonly correction: "web_only_raw_world_session_token"; readonly credentials: readonly ["world_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "raw_session_token_must_not_be_unreal_bindable"; }; readonly web: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "web_only_raw_world_session_token"; }; }; readonly signature: "() => string | null"; readonly transportOwner: "local"; }; readonly "root.hasLeft": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "boolean"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "world_leave_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => boolean"; readonly transportOwner: "local"; }; readonly "root.init": { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session_or_preview"]; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "one_initialization_per_runtime"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session_or_preview"]; readonly idempotency: "one_initialization_per_runtime"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session_or_preview"]; readonly idempotency: "one_initialization_per_runtime"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "shell_player"; readonly availability: "available"; readonly credentials: readonly ["shell_player_session_or_preview"]; readonly idempotency: "one_initialization_per_runtime"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; readonly "root.onLeave": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "cb: () => void) => ("; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "conditional"; readonly bindable: true; readonly correction: "world_leave_requires_runtime_capability_discovery"; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: () => void) => () => void"; readonly transportOwner: "shell"; }; readonly "voice.applySettings": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "settings: HelixVoiceSettings"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(settings: HelixVoiceSettings) => Promise"; readonly transportOwner: "voice_provider"; }; readonly "voice.channel": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "string | null"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => string | null"; readonly transportOwner: "local"; }; readonly "voice.channelOf": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: "userId: string"; readonly output: "string | null"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(userId: string) => string | null"; readonly transportOwner: "local"; }; readonly "voice.getMicMode": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "HelixVoiceMicMode"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => HelixVoiceMicMode"; readonly transportOwner: "local"; }; readonly "voice.join": { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "shell_owned_cross_runtime_voice_contract_required"; readonly credentials: readonly ["world_session_or_instance_assignment"]; readonly errors: readonly ["CORRECTION_REQUIRED"]; readonly idempotency: "one_connection_per_client"; readonly input: "options?: JoinVoiceOptions"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "shell_owned_cross_runtime_voice_contract_required"; readonly credentials: readonly ["world_session_or_instance_assignment"]; readonly idempotency: "one_connection_per_client"; readonly requiredCapabilities: readonly ["voice.room"]; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "shell_owned_cross_runtime_voice_contract_required"; readonly credentials: readonly ["world_session_or_instance_assignment"]; readonly idempotency: "one_connection_per_client"; readonly requiredCapabilities: readonly ["voice.room"]; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["voice.room"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "shell_owned_cross_runtime_voice_contract_required"; }; readonly web: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "shell_owned_cross_runtime_voice_contract_required"; }; }; readonly signature: "(options?: JoinVoiceOptions) => Promise"; readonly transportOwner: "voice_provider"; }; readonly "voice.leave": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "voice_provider"; }; readonly "voice.mutedUserIds": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "string[]"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => string[]"; readonly transportOwner: "local"; }; readonly "voice.onParticipantsChanged": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "cb: (userIds: string[]) => void) => ("; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (userIds: string[]) => void) => () => void"; readonly transportOwner: "voice_provider"; }; readonly "voice.onSpeakingChanged": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "cb: (userIds: string[]) => void) => ("; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (userIds: string[]) => void) => () => void"; readonly transportOwner: "voice_provider"; }; readonly "voice.participantIds": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["INVALID_ARGUMENT"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "string[]"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "local"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => string[]"; readonly transportOwner: "local"; }; readonly "voice.setChannel": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "channelId: string | null"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["voice.room"]; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["voice.room"]; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["voice.room"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(channelId: string | null) => Promise"; readonly transportOwner: "voice_provider"; }; readonly "voice.setDevice": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "deviceId: string, label?: string"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(deviceId: string, label?: string) => Promise"; readonly transportOwner: "voice_provider"; }; readonly "voice.setListenerPose": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "position: HelixVoiceVec3, forward: HelixVoiceVec3, up?: HelixVoiceVec3"; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["voice.proximity"]; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly ["voice.proximity"]; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["voice.proximity"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(position: HelixVoiceVec3, forward: HelixVoiceVec3, up?: HelixVoiceVec3) => void"; readonly transportOwner: "voice_provider"; }; readonly "voice.setMicMode": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "mode: HelixVoiceMicMode"; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(mode: HelixVoiceMicMode) => Promise"; readonly transportOwner: "voice_provider"; }; readonly "voice.setMicVolume": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "volume: number"; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(volume: number) => void"; readonly transportOwner: "voice_provider"; }; readonly "voice.setOutputVolume": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "volume: number"; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(volume: number) => void"; readonly transportOwner: "voice_provider"; }; readonly "voice.setParticipantPosition": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_by_participant"; readonly input: "userId: string, position: HelixVoiceVec3 | null"; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_by_participant"; readonly requiredCapabilities: readonly ["voice.proximity"]; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_by_participant"; readonly requiredCapabilities: readonly ["voice.proximity"]; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly ["voice.proximity"]; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(userId: string, position: HelixVoiceVec3 | null) => void"; readonly transportOwner: "voice_provider"; }; readonly "voice.setParticipantVolume": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_by_participant"; readonly input: "userId: string, volume: number"; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_by_participant"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_by_participant"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(userId: string, volume: number) => void"; readonly transportOwner: "voice_provider"; }; readonly "voice.setPlayerMuted": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_by_user"; readonly input: "userId: string, muted: boolean"; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_by_user"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_by_user"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(userId: string, muted: boolean) => void"; readonly transportOwner: "voice_provider"; }; readonly "voice.setPttDown": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "replace_current"; readonly input: "down: boolean"; readonly output: "void"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "replace_current"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(down: boolean) => void"; readonly transportOwner: "voice_provider"; }; readonly "voice.startAudio": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "voice_provider"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "() => Promise"; readonly transportOwner: "voice_provider"; }; readonly "wallet.getBalance": { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "consume_authoritative_spendable_balance"; readonly credentials: readonly ["shell_player_session"]; readonly errors: readonly ["CORRECTION_REQUIRED"]; readonly idempotency: "not_applicable"; readonly input: ""; readonly output: "Promise"; readonly profilePolicies: { readonly client: { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "consume_authoritative_spendable_balance"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "platform"; readonly availability: "correction_required"; readonly correction: "consume_authoritative_spendable_balance"; readonly credentials: readonly ["shell_player_session"]; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "consume_authoritative_spendable_balance"; }; readonly web: { readonly availability: "correction_required"; readonly bindable: false; readonly correction: "consume_authoritative_spendable_balance"; }; }; readonly signature: "() => Promise"; readonly transportOwner: "shell"; }; readonly "wallet.onBalanceChanged": { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly errors: readonly ["AUTH_REQUIRED", "CAPABILITY_DENIED", "INVALID_ARGUMENT", "RATE_LIMITED", "TIMEOUT", "BACKEND_UNAVAILABLE"]; readonly idempotency: "not_applicable"; readonly input: "cb: (b: Balance) => void) => (("; readonly output: "void)"; readonly profilePolicies: { readonly client: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly listen: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; readonly preview: { readonly authority: "client"; readonly availability: "available"; readonly credentials: readonly []; readonly idempotency: "not_applicable"; readonly requiredCapabilities: readonly []; readonly transportOwner: "shell"; }; }; readonly profiles: readonly ["client", "preview", "listen"]; readonly requiredCapabilities: readonly []; readonly runtimeBindings: { readonly unreal: { readonly availability: "available"; readonly bindable: true; }; readonly web: { readonly availability: "available"; readonly bindable: true; }; }; readonly signature: "(cb: (b: Balance) => void) => (() => void)"; readonly transportOwner: "shell"; }; };