{
  "$schema": "./known-answer.schema.json",
  "authorityProfiles": {
    "client": {
      "description": "A player runtime launched by the HELIX shell. Platform credentials remain in the shell.",
      "trust": "untrusted_player"
    },
    "listen": {
      "description": "A player-owned host. It never receives managed workload authority.",
      "trust": "untrusted_player_host"
    },
    "managed_server": {
      "description": "A HELIX-managed workload with short-lived World, Build, and Instance-bound authority.",
      "trust": "trusted_allocation_workload"
    },
    "preview": {
      "description": "Local creator preview. Mutating platform calls may simulate or report unavailable.",
      "trust": "untrusted_preview"
    }
  },
  "availabilityMeanings": {
    "available": "Implemented on the declared transport and safe to bind.",
    "conditional": "Implemented only on the named transport or profile; bindings must expose capability discovery.",
    "correction_required": "Implementation exists but its current authority or result semantics must be corrected before cross-runtime parity.",
    "unavailable": "Public name exists but the audited implementation does not perform the promised operation."
  },
  "capabilities": {
    "auth.profile": {
      "description": "Read the current world-session profile.",
      "status": "enforced"
    },
    "camera.capture": {
      "description": "Save a world-captured image to the player's album.",
      "status": "enforced"
    },
    "camera.control": {
      "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.",
      "status": "enforced"
    },
    "multiplayer": {
      "description": "Reserve and join the declared multiplayer provider.",
      "status": "enforced"
    },
    "voice.proximity": {
      "description": "Use positional voice metadata.",
      "status": "enforced"
    },
    "voice.room": {
      "description": "Join room voice.",
      "status": "enforced"
    }
  },
  "contractVersion": 1,
  "digest": "sha256:774e64f70ee1c9a6438e5403ed518fb1c991a29eacd2c5a66ccabe75c01b6728",
  "events": [
    {
      "name": "auth-changed",
      "owner": "shell",
      "payload": "HelixUser|null"
    },
    {
      "name": "balance-changed",
      "owner": "shell",
      "payload": "void"
    },
    {
      "name": "inventory-changed",
      "owner": "shell",
      "payload": "void"
    },
    {
      "name": "entitlements-changed",
      "owner": "shell",
      "payload": "void"
    },
    {
      "name": "avatar-changed",
      "owner": "shell",
      "payload": "void"
    },
    {
      "name": "equipment-changed",
      "owner": "shell",
      "payload": "void"
    },
    {
      "name": "emotes-changed",
      "owner": "shell",
      "payload": "void"
    },
    {
      "name": "overlay-open",
      "owner": "shell",
      "payload": "string"
    },
    {
      "name": "overlay-closed",
      "owner": "shell",
      "payload": "string"
    },
    {
      "name": "multiplayer-state",
      "owner": "network_provider",
      "payload": "HelixMultiplayerState|null"
    },
    {
      "name": "voice-state",
      "owner": "voice_provider",
      "payload": "HelixVoiceState"
    },
    {
      "name": "voice-level",
      "owner": "voice_provider",
      "payload": "number"
    },
    {
      "name": "debug-log",
      "owner": "client",
      "payload": "DebugLogEntry"
    },
    {
      "name": "camera-state",
      "owner": "shell",
      "payload": "HelixCameraState"
    },
    {
      "name": "camera-capability",
      "owner": "client",
      "payload": "HelixCameraCapability"
    },
    {
      "name": "world-leave",
      "owner": "shell",
      "payload": "void"
    }
  ],
  "knownGaps": [
    {
      "id": "inventory-equip-false-success",
      "publicMethod": "inventory.equipItem",
      "status": "unavailable"
    },
    {
      "id": "presence-world-session-rejected",
      "publicMethod": "presence.setActivity",
      "status": "correction_required"
    },
    {
      "id": "wallet-client-balance-arithmetic",
      "publicMethod": "wallet.getBalance",
      "status": "correction_required"
    },
    {
      "id": "analytics-platform-hardcoded-web",
      "publicMethod": "analytics.track",
      "status": "correction_required"
    },
    {
      "id": "voice-ownership-not-cross-runtime",
      "publicMethod": "voice.join",
      "status": "correction_required"
    },
    {
      "id": "creator-webui-not-public",
      "publicMethod": null,
      "status": "unavailable"
    },
    {
      "id": "homes-not-public-and-native-launch-disabled",
      "publicMethod": null,
      "status": "unavailable"
    },
    {
      "id": "raw-session-token-not-unreal-bindable",
      "publicMethod": "root.getSessionToken",
      "status": "correction_required"
    },
    {
      "id": "camera-drone-flight-authority-uncontracted",
      "publicMethod": "camera.flyDrone",
      "status": "unavailable"
    }
  ],
  "methodIndex": {
    "achievements.list": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "player_access_or_public_view"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "Promise<AchievementListResult>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "player_access_or_public_view"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "player_access_or_public_view"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "player_access_or_public_view"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<AchievementListResult>",
      "transportOwner": "shell"
    },
    "achievements.mine": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "Promise<AchievementMineResult>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<AchievementMineResult>",
      "transportOwner": "shell"
    },
    "analytics.track": {
      "authority": "platform",
      "availability": "correction_required",
      "correction": "runtime_platform_must_not_be_hardcoded_web",
      "credentials": [
        "world_session_or_anonymous"
      ],
      "errors": [
        "CORRECTION_REQUIRED"
      ],
      "idempotency": "event_id",
      "input": "eventName: AnalyticsEventName, input?: AnalyticsTrackInput",
      "output": "Promise<void>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "correction_required",
          "correction": "runtime_platform_must_not_be_hardcoded_web",
          "credentials": [
            "world_session_or_anonymous"
          ],
          "idempotency": "event_id",
          "requiredCapabilities": [],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "correction_required",
          "correction": "runtime_platform_must_not_be_hardcoded_web",
          "credentials": [
            "world_session_or_anonymous"
          ],
          "idempotency": "event_id",
          "requiredCapabilities": [],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "correction_required",
          "bindable": false,
          "correction": "runtime_platform_must_not_be_hardcoded_web"
        },
        "web": {
          "availability": "correction_required",
          "bindable": false,
          "correction": "runtime_platform_must_not_be_hardcoded_web"
        }
      },
      "signature": "(eventName: AnalyticsEventName, input?: AnalyticsTrackInput) => Promise<void>",
      "transportOwner": "direct"
    },
    "auth.getUser": {
      "authority": "shell_player",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "Promise<HelixUser | null>",
      "profilePolicies": {
        "client": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "auth.profile"
          ],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "auth.profile"
          ],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "auth.profile"
          ],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [
        "auth.profile"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<HelixUser | null>",
      "transportOwner": "shell"
    },
    "auth.isAuthenticated": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "boolean",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => boolean",
      "transportOwner": "local"
    },
    "auth.onAuthChanged": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "listener: AuthListener) => ((",
      "output": "void)",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(listener: AuthListener) => (() => void)",
      "transportOwner": "shell"
    },
    "auth.requestLogin": {
      "authority": "shell_player",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "Promise<HelixUser>",
      "profilePolicies": {
        "client": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<HelixUser>",
      "transportOwner": "shell"
    },
    "avatar.getEquipped": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "public_user_identity"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "Promise<EquippedAvatar | null>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "public_user_identity"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "public_user_identity"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "direct"
        },
        "preview": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "public_user_identity"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<EquippedAvatar | null>",
      "transportOwner": "direct"
    },
    "avatar.getEquippedForUser": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "public_user_identity"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "userId: string",
      "output": "Promise<EquippedAvatar | null>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "public_user_identity"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "public_user_identity"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "direct"
        },
        "preview": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "public_user_identity"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(userId: string) => Promise<EquippedAvatar | null>",
      "transportOwner": "direct"
    },
    "avatar.getLoadout": {
      "authority": "platform",
      "availability": "conditional",
      "correction": "shell_only_until_runtime_token_is_accepted",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "Promise<AvatarLoadout | null>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "conditional",
          "correction": "shell_only_until_runtime_token_is_accepted",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "conditional",
          "correction": "shell_only_until_runtime_token_is_accepted",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "shell_only_until_runtime_token_is_accepted"
        },
        "web": {
          "availability": "conditional",
          "bindable": true,
          "correction": "shell_only_until_runtime_token_is_accepted"
        }
      },
      "signature": "() => Promise<AvatarLoadout | null>",
      "transportOwner": "shell"
    },
    "avatar.onAvatarChanged": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "cb: () => void) => ((",
      "output": "void)",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(cb: () => void) => (() => void)",
      "transportOwner": "shell"
    },
    "avatar.openCreator": {
      "authority": "shell_player",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "Promise<boolean>",
      "profilePolicies": {
        "client": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<boolean>",
      "transportOwner": "shell"
    },
    "avatar.updateLoadout": {
      "authority": "platform",
      "availability": "conditional",
      "correction": "shell_only_until_runtime_token_is_accepted",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "optimistic_server_update",
      "input": "patch: AvatarLoadoutPatch",
      "output": "Promise<AvatarLoadout | null>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "conditional",
          "correction": "shell_only_until_runtime_token_is_accepted",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "optimistic_server_update",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "conditional",
          "correction": "shell_only_until_runtime_token_is_accepted",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "optimistic_server_update",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "shell_only_until_runtime_token_is_accepted"
        },
        "web": {
          "availability": "conditional",
          "bindable": true,
          "correction": "shell_only_until_runtime_token_is_accepted"
        }
      },
      "signature": "(patch: AvatarLoadoutPatch) => Promise<AvatarLoadout | null>",
      "transportOwner": "shell"
    },
    "camera.available": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "boolean",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => boolean",
      "transportOwner": "local"
    },
    "camera.capabilities": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "HelixCameraCapability",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => HelixCameraCapability",
      "transportOwner": "local"
    },
    "camera.capture": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "canvas: HTMLCanvasElement, opts?: CaptureOptions",
      "output": "Promise<Blob>",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(canvas: HTMLCanvasElement, opts?: CaptureOptions) => Promise<Blob>",
      "transportOwner": "local"
    },
    "camera.control": {
      "authority": "shell_player",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "CORRECTION_REQUIRED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "RUNTIME_CAPABILITY_UNAVAILABLE",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "replace_current",
      "input": "control: HelixCameraControl",
      "output": "Promise<HelixCameraState>",
      "profilePolicies": {
        "client": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [
            "camera.control"
          ],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [
            "camera.control"
          ],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "camera.control"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(control: HelixCameraControl) => Promise<HelixCameraState>",
      "transportOwner": "shell"
    },
    "camera.flyDrone": {
      "authority": "shell_player",
      "availability": "unavailable",
      "correction": "drone_flight_authority_contract_required",
      "credentials": [],
      "errors": [
        "UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "command: HelixCameraDroneCommand",
      "output": "Promise<HelixCameraDroneState>",
      "profilePolicies": {
        "client": {
          "authority": "shell_player",
          "availability": "unavailable",
          "correction": "drone_flight_authority_contract_required",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "camera.control"
          ],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "shell_player",
          "availability": "unavailable",
          "correction": "drone_flight_authority_contract_required",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "camera.control"
          ],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "camera.control"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "unavailable",
          "bindable": false,
          "correction": "drone_flight_authority_contract_required"
        },
        "web": {
          "availability": "unavailable",
          "bindable": false,
          "correction": "drone_flight_authority_contract_required"
        }
      },
      "signature": "(command: HelixCameraDroneCommand) => Promise<HelixCameraDroneState>",
      "transportOwner": "shell"
    },
    "camera.getState": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "HelixCameraState",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => HelixCameraState",
      "transportOwner": "local"
    },
    "camera.onStateChanged": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "cb: (state: HelixCameraState) => void) => ((",
      "output": "void)",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(cb: (state: HelixCameraState) => void) => (() => void)",
      "transportOwner": "local"
    },
    "camera.reportCapability": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT"
      ],
      "idempotency": "replace_current",
      "input": "capability: HelixCameraCapability",
      "output": "boolean",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(capability: HelixCameraCapability) => boolean",
      "transportOwner": "shell"
    },
    "camera.savePhoto": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "server_defined",
      "input": "image: Blob | ArrayBuffer | Uint8Array, meta?: { caption?: string; aspect?: CameraAspect; contentType?: string; }",
      "output": "Promise<SavedPhoto | null>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "server_defined",
          "requiredCapabilities": [
            "camera.capture"
          ],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "server_defined",
          "requiredCapabilities": [
            "camera.capture"
          ],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "camera.capture"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(image: Blob | ArrayBuffer | Uint8Array, meta?: { caption?: string; aspect?: CameraAspect; contentType?: string; }) => Promise<SavedPhoto | null>",
      "transportOwner": "shell"
    },
    "customizer.getContext": {
      "authority": "shell_player",
      "availability": "available",
      "credentials": [
        "shell_player_session_or_preview"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "PackageCustomizerContext",
      "profilePolicies": {
        "client": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [
            "shell_player_session_or_preview"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [
            "shell_player_session_or_preview"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "preview": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [
            "shell_player_session_or_preview"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => PackageCustomizerContext",
      "transportOwner": "local"
    },
    "dataStore.delete": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "optimistic_version",
      "input": "key: string, options?: DataStoreWriteOptions",
      "output": "Promise<void>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "optimistic_version",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "optimistic_version",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "managed_server": {
          "authority": "world_server",
          "availability": "unavailable",
          "correction": "planned_managed_server_route_not_shipped",
          "credentials": [
            "managed_workload_credential"
          ],
          "idempotency": "optimistic_version",
          "requiredCapabilities": [],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen",
        "managed_server"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(key: string, options?: DataStoreWriteOptions) => Promise<void>",
      "transportOwner": "shell"
    },
    "dataStore.get": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "key: string",
      "output": "Promise<T | null>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "managed_server": {
          "authority": "world_server",
          "availability": "unavailable",
          "correction": "planned_managed_server_route_not_shipped",
          "credentials": [
            "managed_workload_credential"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen",
        "managed_server"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "<T = unknown>(key: string) => Promise<T | null>",
      "transportOwner": "shell"
    },
    "dataStore.getEntry": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "key: string",
      "output": "Promise<{ value: T; version: number; } | null>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "managed_server": {
          "authority": "world_server",
          "availability": "unavailable",
          "correction": "planned_managed_server_route_not_shipped",
          "credentials": [
            "managed_workload_credential"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen",
        "managed_server"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "<T = unknown>(key: string) => Promise<{ value: T; version: number; } | null>",
      "transportOwner": "shell"
    },
    "dataStore.list": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "prefix?: string, opts?: DataStoreListOptions",
      "output": "Promise<DataStoreListPage>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "managed_server": {
          "authority": "world_server",
          "availability": "unavailable",
          "correction": "planned_managed_server_route_not_shipped",
          "credentials": [
            "managed_workload_credential"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen",
        "managed_server"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(prefix?: string, opts?: DataStoreListOptions) => Promise<DataStoreListPage>",
      "transportOwner": "shell"
    },
    "dataStore.set": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "optimistic_version",
      "input": "key: string, value: T, options?: DataStoreWriteOptions",
      "output": "Promise<void>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "optimistic_version",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "optimistic_version",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "managed_server": {
          "authority": "world_server",
          "availability": "unavailable",
          "correction": "planned_managed_server_route_not_shipped",
          "credentials": [
            "managed_workload_credential"
          ],
          "idempotency": "optimistic_version",
          "requiredCapabilities": [],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen",
        "managed_server"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "<T = unknown>(key: string, value: T, options?: DataStoreWriteOptions) => Promise<void>",
      "transportOwner": "shell"
    },
    "debug.enabled": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "boolean",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "managed_server": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen",
        "managed_server"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => boolean",
      "transportOwner": "local"
    },
    "debug.log": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "...args: unknown[]",
      "output": "void",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "managed_server": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen",
        "managed_server"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(...args: unknown[]) => void",
      "transportOwner": "local"
    },
    "debug.onLog": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "cb: (entry: DebugLogEntry) => void) => ((",
      "output": "void)",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "managed_server": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen",
        "managed_server"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(cb: (entry: DebugLogEntry) => void) => (() => void)",
      "transportOwner": "local"
    },
    "debug.recent": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "DebugLogEntry[]",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "managed_server": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen",
        "managed_server"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => DebugLogEntry[]",
      "transportOwner": "local"
    },
    "device.openPhone": {
      "authority": "shell_player",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "boolean",
      "profilePolicies": {
        "client": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => boolean",
      "transportOwner": "shell"
    },
    "device.openTablet": {
      "authority": "shell_player",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "boolean",
      "profilePolicies": {
        "client": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => boolean",
      "transportOwner": "shell"
    },
    "emotes.getEquipped": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "public_user_identity"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "Promise<EquippedEmotes | null>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "public_user_identity"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "public_user_identity"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "direct"
        },
        "preview": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "public_user_identity"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<EquippedEmotes | null>",
      "transportOwner": "direct"
    },
    "inventory.equipItem": {
      "authority": "platform",
      "availability": "unavailable",
      "correction": "inventory_instance_equip_contract_required",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "itemId: string",
      "output": "Promise<void>",
      "profilePolicies": {},
      "profiles": [],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "unavailable",
          "bindable": false,
          "correction": "inventory_instance_equip_contract_required"
        },
        "web": {
          "availability": "unavailable",
          "bindable": false,
          "correction": "inventory_instance_equip_contract_required"
        }
      },
      "signature": "(itemId: string) => Promise<void>",
      "transportOwner": "shell"
    },
    "inventory.getMyItems": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "Promise<InventoryItem[]>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<InventoryItem[]>",
      "transportOwner": "shell"
    },
    "inventory.getQuantity": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "itemId: string",
      "output": "Promise<number>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(itemId: string) => Promise<number>",
      "transportOwner": "shell"
    },
    "inventory.hasItem": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "itemId: string",
      "output": "Promise<boolean>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(itemId: string) => Promise<boolean>",
      "transportOwner": "shell"
    },
    "inventory.onInventoryChanged": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "cb: () => void) => ((",
      "output": "void)",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(cb: () => void) => (() => void)",
      "transportOwner": "shell"
    },
    "leaderboard.submit": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "server_defined",
      "input": "board: string, score: number, options?: LeaderboardSubmitOptions",
      "output": "Promise<LeaderboardSubmitResult>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "server_defined",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "server_defined",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "managed_server": {
          "authority": "world_server",
          "availability": "unavailable",
          "correction": "planned_managed_server_route_not_shipped",
          "credentials": [
            "managed_workload_credential"
          ],
          "idempotency": "server_defined",
          "requiredCapabilities": [],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen",
        "managed_server"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(board: string, score: number, options?: LeaderboardSubmitOptions) => Promise<LeaderboardSubmitResult>",
      "transportOwner": "shell"
    },
    "leaderboard.top": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "board: string, options?: LeaderboardTopOptions",
      "output": "Promise<LeaderboardPage>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "managed_server": {
          "authority": "world_server",
          "availability": "unavailable",
          "correction": "planned_managed_server_route_not_shipped",
          "credentials": [
            "managed_workload_credential"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen",
        "managed_server"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(board: string, options?: LeaderboardTopOptions) => Promise<LeaderboardPage>",
      "transportOwner": "shell"
    },
    "listen.close": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "sessionId: string",
      "output": "Promise<ListenCloseResult>",
      "profilePolicies": {
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "unavailable",
          "bindable": false,
          "correction": "listen_host_admission_is_native_host_only"
        }
      },
      "signature": "(sessionId: string) => Promise<ListenCloseResult>",
      "transportOwner": "shell"
    },
    "listen.consume": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "CONFLICT",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "sdk_minted_operation_id",
      "input": "sessionId: string, listenJoinToken: string, connectionId: string",
      "output": "Promise<ListenAdmissionResult>",
      "profilePolicies": {
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "sdk_minted_operation_id",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "unavailable",
          "bindable": false,
          "correction": "listen_host_admission_is_native_host_only"
        }
      },
      "signature": "(sessionId: string, listenJoinToken: string, connectionId: string) => Promise<ListenAdmissionResult>",
      "transportOwner": "shell"
    },
    "listen.heartbeat": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "CONFLICT",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "sessionId: string",
      "output": "Promise<ListenHeartbeatResult>",
      "profilePolicies": {
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "unavailable",
          "bindable": false,
          "correction": "listen_host_admission_is_native_host_only"
        }
      },
      "signature": "(sessionId: string) => Promise<ListenHeartbeatResult>",
      "transportOwner": "shell"
    },
    "listen.release": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "CONFLICT",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "sdk_minted_operation_id",
      "input": "sessionId: string, seatId: string, connectionId: string",
      "output": "Promise<ListenReleaseResult>",
      "profilePolicies": {
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "sdk_minted_operation_id",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "unavailable",
          "bindable": false,
          "correction": "listen_host_admission_is_native_host_only"
        }
      },
      "signature": "(sessionId: string, seatId: string, connectionId: string) => Promise<ListenReleaseResult>",
      "transportOwner": "shell"
    },
    "locomotion.getEquipped": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "Promise<EquippedLocomotionPack | null>",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "network_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "network_provider"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "network_provider"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<EquippedLocomotionPack | null>",
      "transportOwner": "network_provider"
    },
    "marketplace.getListings": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "public_or_player_access"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "query?: MarketplaceQuery",
      "output": "Promise<MarketplaceListing[]>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "public_or_player_access"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "public_or_player_access"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "public_or_player_access"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(query?: MarketplaceQuery) => Promise<MarketplaceListing[]>",
      "transportOwner": "shell"
    },
    "marketplace.getPurchase": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "lookup_by_original_key",
      "input": "idempotencyKey: string, ref?: string",
      "output": "Promise<PurchaseResult | null>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "lookup_by_original_key",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "lookup_by_original_key",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(idempotencyKey: string, ref?: string) => Promise<PurchaseResult | null>",
      "transportOwner": "shell"
    },
    "marketplace.getPurchaseContext": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "ref: string, options?: PurchaseOptions | number",
      "output": "Promise<PurchaseContext | null>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(ref: string, options?: PurchaseOptions | number) => Promise<PurchaseContext | null>",
      "transportOwner": "shell"
    },
    "marketplace.purchaseDistribution": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "required_or_sdk_managed",
      "input": "distributionId: string, options?: PurchaseOptions | number",
      "output": "Promise<PurchaseResult>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "required_or_sdk_managed",
          "receipt": "helix-purchase-receipt",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "required_or_sdk_managed",
          "receipt": "helix-purchase-receipt",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "receipt": "helix-purchase-receipt",
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(distributionId: string, options?: PurchaseOptions | number) => Promise<PurchaseResult>",
      "transportOwner": "shell"
    },
    "marketplace.purchaseDistributionKey": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "required_or_sdk_managed",
      "input": "key: string, options?: PurchaseOptions | number",
      "output": "Promise<PurchaseResult>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "required_or_sdk_managed",
          "receipt": "helix-purchase-receipt",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "required_or_sdk_managed",
          "receipt": "helix-purchase-receipt",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "receipt": "helix-purchase-receipt",
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(key: string, options?: PurchaseOptions | number) => Promise<PurchaseResult>",
      "transportOwner": "shell"
    },
    "marketplace.purchaseListing": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "required_or_sdk_managed",
      "input": "listingId: string, options?: PurchaseOptions",
      "output": "Promise<PurchaseResult>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "required_or_sdk_managed",
          "receipt": "helix-purchase-receipt",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "required_or_sdk_managed",
          "receipt": "helix-purchase-receipt",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "receipt": "helix-purchase-receipt",
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(listingId: string, options?: PurchaseOptions) => Promise<PurchaseResult>",
      "transportOwner": "shell"
    },
    "marketplace.purchaseProduct": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "required_or_sdk_managed",
      "input": "productKey: string, options?: PurchaseOptions | number",
      "output": "Promise<PurchaseResult>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "required_or_sdk_managed",
          "receipt": "helix-purchase-receipt",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "required_or_sdk_managed",
          "receipt": "helix-purchase-receipt",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "receipt": "helix-purchase-receipt",
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(productKey: string, options?: PurchaseOptions | number) => Promise<PurchaseResult>",
      "transportOwner": "shell"
    },
    "matchmaking.cancel": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "CONFLICT",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "delete_current",
      "input": "",
      "output": "Promise<void>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "delete_current",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "delete_current",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "matchmaking_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<void>",
      "transportOwner": "direct"
    },
    "matchmaking.enqueue": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "CONFLICT",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "server_defined",
      "input": "queueId: string",
      "output": "Promise<QueueStatus>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "server_defined",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "server_defined",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "matchmaking_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(queueId: string) => Promise<QueueStatus>",
      "transportOwner": "direct"
    },
    "matchmaking.onMatch": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "cb: (match: MatchFound) => void) => (",
      "output": "void",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "matchmaking_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(cb: (match: MatchFound) => void) => () => void",
      "transportOwner": "direct"
    },
    "matchmaking.onStatus": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "cb: (status: QueueStatus) => void) => (",
      "output": "void",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "matchmaking_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(cb: (status: QueueStatus) => void) => () => void",
      "transportOwner": "direct"
    },
    "matchmaking.status": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "CONFLICT",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "Promise<QueueStatus>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "matchmaking_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<QueueStatus>",
      "transportOwner": "direct"
    },
    "materials.clearCache": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "void",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => void",
      "transportOwner": "local"
    },
    "materials.fromCatalog": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "assetBaseUrl: string, catalog: HelixMaterialCatalog",
      "output": "HelixMaterialLibrary",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(assetBaseUrl: string, catalog: HelixMaterialCatalog) => HelixMaterialLibrary",
      "transportOwner": "local"
    },
    "materials.load": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "cache_by_url",
      "input": "assetBaseUrl: string",
      "output": "Promise<HelixMaterialLibrary>",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "cache_by_url",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "cache_by_url",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "cache_by_url",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(assetBaseUrl: string) => Promise<HelixMaterialLibrary>",
      "transportOwner": "local"
    },
    "multiplayer.configure": {
      "authority": "client",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "replace_configuration",
      "input": "options: { apiBaseUrl: string; }",
      "output": "void",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "replace_configuration",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "network_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "replace_configuration",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "network_provider"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "replace_configuration",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "network_provider"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(options: { apiBaseUrl: string; }) => void",
      "transportOwner": "network_provider"
    },
    "multiplayer.currentRoomId": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "string | null",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "network_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "network_provider"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "network_provider"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => string | null",
      "transportOwner": "network_provider"
    },
    "multiplayer.joinRoom": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session_then_room_credential"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "reservation_defined",
      "input": "worldId?: string, options?: JoinRoomOptions",
      "output": "Promise<HelixRoom>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session_then_room_credential"
          ],
          "idempotency": "reservation_defined",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "network_provider"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session_then_room_credential"
          ],
          "idempotency": "reservation_defined",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "network_provider"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(worldId?: string, options?: JoinRoomOptions) => Promise<HelixRoom>",
      "transportOwner": "network_provider"
    },
    "multiplayer.leave": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "Promise<void>",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "network_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "network_provider"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "network_provider"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<void>",
      "transportOwner": "network_provider"
    },
    "multiplayer.switchRoom": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session_then_room_credential"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT"
      ],
      "idempotency": "reservation_defined",
      "input": "target: SwitchRoomTarget, options?: SwitchRoomOptions",
      "output": "Promise<HelixRoom>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session_then_room_credential"
          ],
          "idempotency": "reservation_defined",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "network_provider"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session_then_room_credential"
          ],
          "idempotency": "reservation_defined",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "network_provider"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "room_hop_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(target: SwitchRoomTarget, options?: SwitchRoomOptions) => Promise<HelixRoom>",
      "transportOwner": "network_provider"
    },
    "notify.failure": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "title: string, message?: string",
      "output": "boolean",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(title: string, message?: string) => boolean",
      "transportOwner": "shell"
    },
    "notify.message": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "title: string, message?: string",
      "output": "boolean",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(title: string, message?: string) => boolean",
      "transportOwner": "shell"
    },
    "notify.notification": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "title: string, message?: string",
      "output": "boolean",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(title: string, message?: string) => boolean",
      "transportOwner": "shell"
    },
    "notify.show": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "notification: HelixNotification",
      "output": "boolean",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(notification: HelixNotification) => boolean",
      "transportOwner": "shell"
    },
    "notify.success": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "title: string, message?: string",
      "output": "boolean",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(title: string, message?: string) => boolean",
      "transportOwner": "shell"
    },
    "party.accept": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "CONFLICT",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "server_defined",
      "input": "inviteId: string",
      "output": "Promise<Party>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "server_defined",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "server_defined",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "party_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(inviteId: string) => Promise<Party>",
      "transportOwner": "direct"
    },
    "party.createCode": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "CONFLICT",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "replace_current",
      "input": "",
      "output": "Promise<PartyCode>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "replace_current",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "replace_current",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "party_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<PartyCode>",
      "transportOwner": "direct"
    },
    "party.decline": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "CONFLICT",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "delete_current",
      "input": "inviteId: string",
      "output": "Promise<void>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "delete_current",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "delete_current",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "party_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(inviteId: string) => Promise<void>",
      "transportOwner": "direct"
    },
    "party.get": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "CONFLICT",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "Promise<PartyState>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "party_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<PartyState>",
      "transportOwner": "direct"
    },
    "party.invite": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "CONFLICT",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "server_defined",
      "input": "userId: string",
      "output": "Promise<PartyInviteReceipt>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "server_defined",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "server_defined",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "party_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(userId: string) => Promise<PartyInviteReceipt>",
      "transportOwner": "direct"
    },
    "party.join": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "CONFLICT",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "server_defined",
      "input": "code: string",
      "output": "Promise<Party>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "server_defined",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "server_defined",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "party_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(code: string) => Promise<Party>",
      "transportOwner": "direct"
    },
    "party.kick": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "CONFLICT",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "delete_current",
      "input": "userId: string",
      "output": "Promise<void>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "delete_current",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "delete_current",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "party_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(userId: string) => Promise<void>",
      "transportOwner": "direct"
    },
    "party.leave": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "CONFLICT",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "delete_current",
      "input": "",
      "output": "Promise<void>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "delete_current",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "delete_current",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "party_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<void>",
      "transportOwner": "direct"
    },
    "party.onChange": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "cb: (state: PartyState) => void) => (",
      "output": "void",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "party_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(cb: (state: PartyState) => void) => () => void",
      "transportOwner": "direct"
    },
    "party.onError": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "cb: (error: HelixPartyError) => void) => (",
      "output": "void",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "party_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(cb: (error: HelixPartyError) => void) => () => void",
      "transportOwner": "direct"
    },
    "party.onInvite": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "cb: (invite: PartyInvite) => void) => (",
      "output": "void",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "party_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(cb: (invite: PartyInvite) => void) => () => void",
      "transportOwner": "direct"
    },
    "party.promote": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "CONFLICT",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "replace_current",
      "input": "userId: string",
      "output": "Promise<Party>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "replace_current",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "replace_current",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "party_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(userId: string) => Promise<Party>",
      "transportOwner": "direct"
    },
    "party.revokeCode": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "BACKEND_UNAVAILABLE",
        "CAPABILITY_DENIED",
        "CONFLICT",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "UNAVAILABLE"
      ],
      "idempotency": "delete_current",
      "input": "",
      "output": "Promise<void>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "delete_current",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "idempotency": "delete_current",
          "requiredCapabilities": [
            "multiplayer"
          ],
          "transportOwner": "direct"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "multiplayer"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "party_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<void>",
      "transportOwner": "direct"
    },
    "presence.clearActivity": {
      "authority": "platform",
      "availability": "correction_required",
      "correction": "runtime_scoped_presence_authority_required",
      "credentials": [
        "world_session_currently_rejected"
      ],
      "errors": [
        "CORRECTION_REQUIRED"
      ],
      "idempotency": "delete_current",
      "input": "",
      "output": "Promise<boolean>",
      "profilePolicies": {},
      "profiles": [],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "correction_required",
          "bindable": false,
          "correction": "runtime_scoped_presence_authority_required"
        },
        "web": {
          "availability": "correction_required",
          "bindable": false,
          "correction": "runtime_scoped_presence_authority_required"
        }
      },
      "signature": "() => Promise<boolean>",
      "transportOwner": "direct"
    },
    "presence.setActivity": {
      "authority": "platform",
      "availability": "correction_required",
      "correction": "runtime_scoped_presence_authority_required",
      "credentials": [
        "world_session_currently_rejected"
      ],
      "errors": [
        "CORRECTION_REQUIRED"
      ],
      "idempotency": "replace_current",
      "input": "activity: HelixPresenceActivity",
      "output": "Promise<boolean>",
      "profilePolicies": {},
      "profiles": [],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "correction_required",
          "bindable": false,
          "correction": "runtime_scoped_presence_authority_required"
        },
        "web": {
          "availability": "correction_required",
          "bindable": false,
          "correction": "runtime_scoped_presence_authority_required"
        }
      },
      "signature": "(activity: HelixPresenceActivity) => Promise<boolean>",
      "transportOwner": "direct"
    },
    "prompts.clear": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "delete_by_prompt_id_or_all",
      "input": "promptId?: string",
      "output": "boolean",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "delete_by_prompt_id_or_all",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "delete_by_prompt_id_or_all",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "delete_by_prompt_id_or_all",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(promptId?: string) => boolean",
      "transportOwner": "shell"
    },
    "prompts.set": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "replace_by_prompt_id",
      "input": "prompt: HelixInteractionPrompt",
      "output": "boolean",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_by_prompt_id",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_by_prompt_id",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_by_prompt_id",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(prompt: HelixInteractionPrompt) => boolean",
      "transportOwner": "shell"
    },
    "purchases.consume": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "sdk_minted_operation_id",
      "input": "code: string, amount: number",
      "output": "Promise<ConsumeResult>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "sdk_minted_operation_id",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "sdk_minted_operation_id",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(code: string, amount: number) => Promise<ConsumeResult>",
      "transportOwner": "shell"
    },
    "purchases.getEntitlements": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "Promise<Entitlements>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<Entitlements>",
      "transportOwner": "shell"
    },
    "purchases.getPurchase": {
      "authority": "platform",
      "availability": "available",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "lookup_by_original_key",
      "input": "idempotencyKey: string, ref?: string",
      "output": "Promise<PurchaseResult | null>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "lookup_by_original_key",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "lookup_by_original_key",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(idempotencyKey: string, ref?: string) => Promise<PurchaseResult | null>",
      "transportOwner": "shell"
    },
    "purchases.onEntitlementsChanged": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "cb: () => void) => ((",
      "output": "void)",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(cb: () => void) => (() => void)",
      "transportOwner": "shell"
    },
    "root.getSessionToken": {
      "authority": "client",
      "availability": "correction_required",
      "correction": "web_world_session_is_not_an_unreal_runtime_credential",
      "credentials": [
        "world_session"
      ],
      "errors": [
        "CORRECTION_REQUIRED"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "string | null",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "conditional",
          "correction": "web_only_raw_world_session_token",
          "credentials": [
            "world_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "conditional",
          "correction": "web_only_raw_world_session_token",
          "credentials": [
            "world_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "correction_required",
          "bindable": false,
          "correction": "raw_session_token_must_not_be_unreal_bindable"
        },
        "web": {
          "availability": "conditional",
          "bindable": true,
          "correction": "web_only_raw_world_session_token"
        }
      },
      "signature": "() => string | null",
      "transportOwner": "local"
    },
    "root.hasLeft": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "boolean",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "world_leave_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => boolean",
      "transportOwner": "local"
    },
    "root.init": {
      "authority": "shell_player",
      "availability": "available",
      "credentials": [
        "shell_player_session_or_preview"
      ],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "one_initialization_per_runtime",
      "input": "",
      "output": "Promise<HelixInitResult>",
      "profilePolicies": {
        "client": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [
            "shell_player_session_or_preview"
          ],
          "idempotency": "one_initialization_per_runtime",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [
            "shell_player_session_or_preview"
          ],
          "idempotency": "one_initialization_per_runtime",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [
            "shell_player_session_or_preview"
          ],
          "idempotency": "one_initialization_per_runtime",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<HelixInitResult>",
      "transportOwner": "shell"
    },
    "root.onLeave": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "cb: () => void) => (",
      "output": "void",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "conditional",
          "bindable": true,
          "correction": "world_leave_requires_runtime_capability_discovery"
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(cb: () => void) => () => void",
      "transportOwner": "shell"
    },
    "voice.applySettings": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "replace_current",
      "input": "settings: HelixVoiceSettings",
      "output": "Promise<void>",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(settings: HelixVoiceSettings) => Promise<void>",
      "transportOwner": "voice_provider"
    },
    "voice.channel": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "string | null",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => string | null",
      "transportOwner": "local"
    },
    "voice.channelOf": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "userId: string",
      "output": "string | null",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(userId: string) => string | null",
      "transportOwner": "local"
    },
    "voice.getMicMode": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "HelixVoiceMicMode",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => HelixVoiceMicMode",
      "transportOwner": "local"
    },
    "voice.join": {
      "authority": "platform",
      "availability": "correction_required",
      "correction": "shell_owned_cross_runtime_voice_contract_required",
      "credentials": [
        "world_session_or_instance_assignment"
      ],
      "errors": [
        "CORRECTION_REQUIRED"
      ],
      "idempotency": "one_connection_per_client",
      "input": "options?: JoinVoiceOptions",
      "output": "Promise<boolean>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "correction_required",
          "correction": "shell_owned_cross_runtime_voice_contract_required",
          "credentials": [
            "world_session_or_instance_assignment"
          ],
          "idempotency": "one_connection_per_client",
          "requiredCapabilities": [
            "voice.room"
          ],
          "transportOwner": "voice_provider"
        },
        "listen": {
          "authority": "platform",
          "availability": "correction_required",
          "correction": "shell_owned_cross_runtime_voice_contract_required",
          "credentials": [
            "world_session_or_instance_assignment"
          ],
          "idempotency": "one_connection_per_client",
          "requiredCapabilities": [
            "voice.room"
          ],
          "transportOwner": "voice_provider"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "voice.room"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "correction_required",
          "bindable": false,
          "correction": "shell_owned_cross_runtime_voice_contract_required"
        },
        "web": {
          "availability": "correction_required",
          "bindable": false,
          "correction": "shell_owned_cross_runtime_voice_contract_required"
        }
      },
      "signature": "(options?: JoinVoiceOptions) => Promise<boolean>",
      "transportOwner": "voice_provider"
    },
    "voice.leave": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "Promise<void>",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<void>",
      "transportOwner": "voice_provider"
    },
    "voice.mutedUserIds": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "string[]",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => string[]",
      "transportOwner": "local"
    },
    "voice.onParticipantsChanged": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "cb: (userIds: string[]) => void) => (",
      "output": "void",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(cb: (userIds: string[]) => void) => () => void",
      "transportOwner": "voice_provider"
    },
    "voice.onSpeakingChanged": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "cb: (userIds: string[]) => void) => (",
      "output": "void",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(cb: (userIds: string[]) => void) => () => void",
      "transportOwner": "voice_provider"
    },
    "voice.participantIds": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "INVALID_ARGUMENT"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "string[]",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "local"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => string[]",
      "transportOwner": "local"
    },
    "voice.setChannel": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "replace_current",
      "input": "channelId: string | null",
      "output": "Promise<void>",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [
            "voice.room"
          ],
          "transportOwner": "voice_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [
            "voice.room"
          ],
          "transportOwner": "voice_provider"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "voice.room"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(channelId: string | null) => Promise<void>",
      "transportOwner": "voice_provider"
    },
    "voice.setDevice": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "replace_current",
      "input": "deviceId: string, label?: string",
      "output": "Promise<void>",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(deviceId: string, label?: string) => Promise<void>",
      "transportOwner": "voice_provider"
    },
    "voice.setListenerPose": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "replace_current",
      "input": "position: HelixVoiceVec3, forward: HelixVoiceVec3, up?: HelixVoiceVec3",
      "output": "void",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [
            "voice.proximity"
          ],
          "transportOwner": "voice_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [
            "voice.proximity"
          ],
          "transportOwner": "voice_provider"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "voice.proximity"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(position: HelixVoiceVec3, forward: HelixVoiceVec3, up?: HelixVoiceVec3) => void",
      "transportOwner": "voice_provider"
    },
    "voice.setMicMode": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "replace_current",
      "input": "mode: HelixVoiceMicMode",
      "output": "Promise<void>",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(mode: HelixVoiceMicMode) => Promise<void>",
      "transportOwner": "voice_provider"
    },
    "voice.setMicVolume": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "replace_current",
      "input": "volume: number",
      "output": "void",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(volume: number) => void",
      "transportOwner": "voice_provider"
    },
    "voice.setOutputVolume": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "replace_current",
      "input": "volume: number",
      "output": "void",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(volume: number) => void",
      "transportOwner": "voice_provider"
    },
    "voice.setParticipantPosition": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "replace_by_participant",
      "input": "userId: string, position: HelixVoiceVec3 | null",
      "output": "void",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_by_participant",
          "requiredCapabilities": [
            "voice.proximity"
          ],
          "transportOwner": "voice_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_by_participant",
          "requiredCapabilities": [
            "voice.proximity"
          ],
          "transportOwner": "voice_provider"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [
        "voice.proximity"
      ],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(userId: string, position: HelixVoiceVec3 | null) => void",
      "transportOwner": "voice_provider"
    },
    "voice.setParticipantVolume": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "replace_by_participant",
      "input": "userId: string, volume: number",
      "output": "void",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_by_participant",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_by_participant",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(userId: string, volume: number) => void",
      "transportOwner": "voice_provider"
    },
    "voice.setPlayerMuted": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "replace_by_user",
      "input": "userId: string, muted: boolean",
      "output": "void",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_by_user",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_by_user",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(userId: string, muted: boolean) => void",
      "transportOwner": "voice_provider"
    },
    "voice.setPttDown": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "replace_current",
      "input": "down: boolean",
      "output": "void",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "replace_current",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(down: boolean) => void",
      "transportOwner": "voice_provider"
    },
    "voice.startAudio": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "Promise<void>",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "voice_provider"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "() => Promise<void>",
      "transportOwner": "voice_provider"
    },
    "wallet.getBalance": {
      "authority": "platform",
      "availability": "correction_required",
      "correction": "consume_authoritative_spendable_balance",
      "credentials": [
        "shell_player_session"
      ],
      "errors": [
        "CORRECTION_REQUIRED"
      ],
      "idempotency": "not_applicable",
      "input": "",
      "output": "Promise<Balance>",
      "profilePolicies": {
        "client": {
          "authority": "platform",
          "availability": "correction_required",
          "correction": "consume_authoritative_spendable_balance",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "platform",
          "availability": "correction_required",
          "correction": "consume_authoritative_spendable_balance",
          "credentials": [
            "shell_player_session"
          ],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "correction_required",
          "bindable": false,
          "correction": "consume_authoritative_spendable_balance"
        },
        "web": {
          "availability": "correction_required",
          "bindable": false,
          "correction": "consume_authoritative_spendable_balance"
        }
      },
      "signature": "() => Promise<Balance>",
      "transportOwner": "shell"
    },
    "wallet.onBalanceChanged": {
      "authority": "client",
      "availability": "available",
      "credentials": [],
      "errors": [
        "AUTH_REQUIRED",
        "CAPABILITY_DENIED",
        "INVALID_ARGUMENT",
        "RATE_LIMITED",
        "TIMEOUT",
        "BACKEND_UNAVAILABLE"
      ],
      "idempotency": "not_applicable",
      "input": "cb: (b: Balance) => void) => ((",
      "output": "void)",
      "profilePolicies": {
        "client": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "listen": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        },
        "preview": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "idempotency": "not_applicable",
          "requiredCapabilities": [],
          "transportOwner": "shell"
        }
      },
      "profiles": [
        "client",
        "preview",
        "listen"
      ],
      "requiredCapabilities": [],
      "runtimeBindings": {
        "unreal": {
          "availability": "available",
          "bindable": true
        },
        "web": {
          "availability": "available",
          "bindable": true
        }
      },
      "signature": "(cb: (b: Balance) => void) => (() => void)",
      "transportOwner": "shell"
    }
  },
  "multiplayerContractVersion": 34,
  "namespaces": {
    "achievements": {
      "methods": {
        "list": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "player_access_or_public_view"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "Promise<AchievementListResult>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "player_access_or_public_view"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "player_access_or_public_view"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "player_access_or_public_view"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<AchievementListResult>",
          "transportOwner": "shell"
        },
        "mine": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "Promise<AchievementMineResult>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<AchievementMineResult>",
          "transportOwner": "shell"
        }
      }
    },
    "analytics": {
      "methods": {
        "track": {
          "authority": "platform",
          "availability": "correction_required",
          "correction": "runtime_platform_must_not_be_hardcoded_web",
          "credentials": [
            "world_session_or_anonymous"
          ],
          "errors": [
            "CORRECTION_REQUIRED"
          ],
          "idempotency": "event_id",
          "input": "eventName: AnalyticsEventName, input?: AnalyticsTrackInput",
          "output": "Promise<void>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "correction_required",
              "correction": "runtime_platform_must_not_be_hardcoded_web",
              "credentials": [
                "world_session_or_anonymous"
              ],
              "idempotency": "event_id",
              "requiredCapabilities": [],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "correction_required",
              "correction": "runtime_platform_must_not_be_hardcoded_web",
              "credentials": [
                "world_session_or_anonymous"
              ],
              "idempotency": "event_id",
              "requiredCapabilities": [],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "correction_required",
              "bindable": false,
              "correction": "runtime_platform_must_not_be_hardcoded_web"
            },
            "web": {
              "availability": "correction_required",
              "bindable": false,
              "correction": "runtime_platform_must_not_be_hardcoded_web"
            }
          },
          "signature": "(eventName: AnalyticsEventName, input?: AnalyticsTrackInput) => Promise<void>",
          "transportOwner": "direct"
        }
      }
    },
    "auth": {
      "methods": {
        "getUser": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "Promise<HelixUser | null>",
          "profilePolicies": {
            "client": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "auth.profile"
              ],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "auth.profile"
              ],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "auth.profile"
              ],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [
            "auth.profile"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<HelixUser | null>",
          "transportOwner": "shell"
        },
        "isAuthenticated": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "boolean",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => boolean",
          "transportOwner": "local"
        },
        "onAuthChanged": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "listener: AuthListener) => ((",
          "output": "void)",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(listener: AuthListener) => (() => void)",
          "transportOwner": "shell"
        },
        "requestLogin": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "Promise<HelixUser>",
          "profilePolicies": {
            "client": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<HelixUser>",
          "transportOwner": "shell"
        }
      }
    },
    "avatar": {
      "methods": {
        "getEquipped": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "public_user_identity"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "Promise<EquippedAvatar | null>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "public_user_identity"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "public_user_identity"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "direct"
            },
            "preview": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "public_user_identity"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<EquippedAvatar | null>",
          "transportOwner": "direct"
        },
        "getEquippedForUser": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "public_user_identity"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "userId: string",
          "output": "Promise<EquippedAvatar | null>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "public_user_identity"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "public_user_identity"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "direct"
            },
            "preview": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "public_user_identity"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(userId: string) => Promise<EquippedAvatar | null>",
          "transportOwner": "direct"
        },
        "getLoadout": {
          "authority": "platform",
          "availability": "conditional",
          "correction": "shell_only_until_runtime_token_is_accepted",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "Promise<AvatarLoadout | null>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "conditional",
              "correction": "shell_only_until_runtime_token_is_accepted",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "conditional",
              "correction": "shell_only_until_runtime_token_is_accepted",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "shell_only_until_runtime_token_is_accepted"
            },
            "web": {
              "availability": "conditional",
              "bindable": true,
              "correction": "shell_only_until_runtime_token_is_accepted"
            }
          },
          "signature": "() => Promise<AvatarLoadout | null>",
          "transportOwner": "shell"
        },
        "onAvatarChanged": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "cb: () => void) => ((",
          "output": "void)",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(cb: () => void) => (() => void)",
          "transportOwner": "shell"
        },
        "openCreator": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "Promise<boolean>",
          "profilePolicies": {
            "client": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<boolean>",
          "transportOwner": "shell"
        },
        "updateLoadout": {
          "authority": "platform",
          "availability": "conditional",
          "correction": "shell_only_until_runtime_token_is_accepted",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "optimistic_server_update",
          "input": "patch: AvatarLoadoutPatch",
          "output": "Promise<AvatarLoadout | null>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "conditional",
              "correction": "shell_only_until_runtime_token_is_accepted",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "optimistic_server_update",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "conditional",
              "correction": "shell_only_until_runtime_token_is_accepted",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "optimistic_server_update",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "shell_only_until_runtime_token_is_accepted"
            },
            "web": {
              "availability": "conditional",
              "bindable": true,
              "correction": "shell_only_until_runtime_token_is_accepted"
            }
          },
          "signature": "(patch: AvatarLoadoutPatch) => Promise<AvatarLoadout | null>",
          "transportOwner": "shell"
        }
      }
    },
    "camera": {
      "methods": {
        "available": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "boolean",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => boolean",
          "transportOwner": "local"
        },
        "capabilities": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "HelixCameraCapability",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => HelixCameraCapability",
          "transportOwner": "local"
        },
        "capture": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "canvas: HTMLCanvasElement, opts?: CaptureOptions",
          "output": "Promise<Blob>",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(canvas: HTMLCanvasElement, opts?: CaptureOptions) => Promise<Blob>",
          "transportOwner": "local"
        },
        "control": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "CORRECTION_REQUIRED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "RUNTIME_CAPABILITY_UNAVAILABLE",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "replace_current",
          "input": "control: HelixCameraControl",
          "output": "Promise<HelixCameraState>",
          "profilePolicies": {
            "client": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [
                "camera.control"
              ],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [
                "camera.control"
              ],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "camera.control"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(control: HelixCameraControl) => Promise<HelixCameraState>",
          "transportOwner": "shell"
        },
        "flyDrone": {
          "authority": "shell_player",
          "availability": "unavailable",
          "correction": "drone_flight_authority_contract_required",
          "credentials": [],
          "errors": [
            "UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "command: HelixCameraDroneCommand",
          "output": "Promise<HelixCameraDroneState>",
          "profilePolicies": {
            "client": {
              "authority": "shell_player",
              "availability": "unavailable",
              "correction": "drone_flight_authority_contract_required",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "camera.control"
              ],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "shell_player",
              "availability": "unavailable",
              "correction": "drone_flight_authority_contract_required",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "camera.control"
              ],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "camera.control"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "unavailable",
              "bindable": false,
              "correction": "drone_flight_authority_contract_required"
            },
            "web": {
              "availability": "unavailable",
              "bindable": false,
              "correction": "drone_flight_authority_contract_required"
            }
          },
          "signature": "(command: HelixCameraDroneCommand) => Promise<HelixCameraDroneState>",
          "transportOwner": "shell"
        },
        "getState": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "HelixCameraState",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => HelixCameraState",
          "transportOwner": "local"
        },
        "onStateChanged": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "cb: (state: HelixCameraState) => void) => ((",
          "output": "void)",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(cb: (state: HelixCameraState) => void) => (() => void)",
          "transportOwner": "local"
        },
        "reportCapability": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT"
          ],
          "idempotency": "replace_current",
          "input": "capability: HelixCameraCapability",
          "output": "boolean",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(capability: HelixCameraCapability) => boolean",
          "transportOwner": "shell"
        },
        "savePhoto": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "server_defined",
          "input": "image: Blob | ArrayBuffer | Uint8Array, meta?: { caption?: string; aspect?: CameraAspect; contentType?: string; }",
          "output": "Promise<SavedPhoto | null>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "server_defined",
              "requiredCapabilities": [
                "camera.capture"
              ],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "server_defined",
              "requiredCapabilities": [
                "camera.capture"
              ],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "camera.capture"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(image: Blob | ArrayBuffer | Uint8Array, meta?: { caption?: string; aspect?: CameraAspect; contentType?: string; }) => Promise<SavedPhoto | null>",
          "transportOwner": "shell"
        }
      }
    },
    "customizer": {
      "methods": {
        "getContext": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [
            "shell_player_session_or_preview"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "PackageCustomizerContext",
          "profilePolicies": {
            "client": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [
                "shell_player_session_or_preview"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [
                "shell_player_session_or_preview"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "preview": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [
                "shell_player_session_or_preview"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => PackageCustomizerContext",
          "transportOwner": "local"
        }
      }
    },
    "dataStore": {
      "methods": {
        "delete": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "optimistic_version",
          "input": "key: string, options?: DataStoreWriteOptions",
          "output": "Promise<void>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "optimistic_version",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "optimistic_version",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "managed_server": {
              "authority": "world_server",
              "availability": "unavailable",
              "correction": "planned_managed_server_route_not_shipped",
              "credentials": [
                "managed_workload_credential"
              ],
              "idempotency": "optimistic_version",
              "requiredCapabilities": [],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen",
            "managed_server"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(key: string, options?: DataStoreWriteOptions) => Promise<void>",
          "transportOwner": "shell"
        },
        "get": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "key: string",
          "output": "Promise<T | null>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "managed_server": {
              "authority": "world_server",
              "availability": "unavailable",
              "correction": "planned_managed_server_route_not_shipped",
              "credentials": [
                "managed_workload_credential"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen",
            "managed_server"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "<T = unknown>(key: string) => Promise<T | null>",
          "transportOwner": "shell"
        },
        "getEntry": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "key: string",
          "output": "Promise<{ value: T; version: number; } | null>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "managed_server": {
              "authority": "world_server",
              "availability": "unavailable",
              "correction": "planned_managed_server_route_not_shipped",
              "credentials": [
                "managed_workload_credential"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen",
            "managed_server"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "<T = unknown>(key: string) => Promise<{ value: T; version: number; } | null>",
          "transportOwner": "shell"
        },
        "list": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "prefix?: string, opts?: DataStoreListOptions",
          "output": "Promise<DataStoreListPage>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "managed_server": {
              "authority": "world_server",
              "availability": "unavailable",
              "correction": "planned_managed_server_route_not_shipped",
              "credentials": [
                "managed_workload_credential"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen",
            "managed_server"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(prefix?: string, opts?: DataStoreListOptions) => Promise<DataStoreListPage>",
          "transportOwner": "shell"
        },
        "set": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "optimistic_version",
          "input": "key: string, value: T, options?: DataStoreWriteOptions",
          "output": "Promise<void>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "optimistic_version",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "optimistic_version",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "managed_server": {
              "authority": "world_server",
              "availability": "unavailable",
              "correction": "planned_managed_server_route_not_shipped",
              "credentials": [
                "managed_workload_credential"
              ],
              "idempotency": "optimistic_version",
              "requiredCapabilities": [],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen",
            "managed_server"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "<T = unknown>(key: string, value: T, options?: DataStoreWriteOptions) => Promise<void>",
          "transportOwner": "shell"
        }
      }
    },
    "debug": {
      "methods": {
        "enabled": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "boolean",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "managed_server": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen",
            "managed_server"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => boolean",
          "transportOwner": "local"
        },
        "log": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "...args: unknown[]",
          "output": "void",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "managed_server": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen",
            "managed_server"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(...args: unknown[]) => void",
          "transportOwner": "local"
        },
        "onLog": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "cb: (entry: DebugLogEntry) => void) => ((",
          "output": "void)",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "managed_server": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen",
            "managed_server"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(cb: (entry: DebugLogEntry) => void) => (() => void)",
          "transportOwner": "local"
        },
        "recent": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "DebugLogEntry[]",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "managed_server": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen",
            "managed_server"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => DebugLogEntry[]",
          "transportOwner": "local"
        }
      }
    },
    "device": {
      "methods": {
        "openPhone": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "boolean",
          "profilePolicies": {
            "client": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => boolean",
          "transportOwner": "shell"
        },
        "openTablet": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "boolean",
          "profilePolicies": {
            "client": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => boolean",
          "transportOwner": "shell"
        }
      }
    },
    "emotes": {
      "methods": {
        "getEquipped": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "public_user_identity"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "Promise<EquippedEmotes | null>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "public_user_identity"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "public_user_identity"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "direct"
            },
            "preview": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "public_user_identity"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<EquippedEmotes | null>",
          "transportOwner": "direct"
        }
      }
    },
    "inventory": {
      "methods": {
        "equipItem": {
          "authority": "platform",
          "availability": "unavailable",
          "correction": "inventory_instance_equip_contract_required",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "itemId: string",
          "output": "Promise<void>",
          "profilePolicies": {},
          "profiles": [],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "unavailable",
              "bindable": false,
              "correction": "inventory_instance_equip_contract_required"
            },
            "web": {
              "availability": "unavailable",
              "bindable": false,
              "correction": "inventory_instance_equip_contract_required"
            }
          },
          "signature": "(itemId: string) => Promise<void>",
          "transportOwner": "shell"
        },
        "getMyItems": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "Promise<InventoryItem[]>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<InventoryItem[]>",
          "transportOwner": "shell"
        },
        "getQuantity": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "itemId: string",
          "output": "Promise<number>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(itemId: string) => Promise<number>",
          "transportOwner": "shell"
        },
        "hasItem": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "itemId: string",
          "output": "Promise<boolean>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(itemId: string) => Promise<boolean>",
          "transportOwner": "shell"
        },
        "onInventoryChanged": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "cb: () => void) => ((",
          "output": "void)",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(cb: () => void) => (() => void)",
          "transportOwner": "shell"
        }
      }
    },
    "leaderboard": {
      "methods": {
        "submit": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "server_defined",
          "input": "board: string, score: number, options?: LeaderboardSubmitOptions",
          "output": "Promise<LeaderboardSubmitResult>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "server_defined",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "server_defined",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "managed_server": {
              "authority": "world_server",
              "availability": "unavailable",
              "correction": "planned_managed_server_route_not_shipped",
              "credentials": [
                "managed_workload_credential"
              ],
              "idempotency": "server_defined",
              "requiredCapabilities": [],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen",
            "managed_server"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(board: string, score: number, options?: LeaderboardSubmitOptions) => Promise<LeaderboardSubmitResult>",
          "transportOwner": "shell"
        },
        "top": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "board: string, options?: LeaderboardTopOptions",
          "output": "Promise<LeaderboardPage>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "managed_server": {
              "authority": "world_server",
              "availability": "unavailable",
              "correction": "planned_managed_server_route_not_shipped",
              "credentials": [
                "managed_workload_credential"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen",
            "managed_server"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(board: string, options?: LeaderboardTopOptions) => Promise<LeaderboardPage>",
          "transportOwner": "shell"
        }
      }
    },
    "listen": {
      "methods": {
        "close": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "sessionId: string",
          "output": "Promise<ListenCloseResult>",
          "profilePolicies": {
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "unavailable",
              "bindable": false,
              "correction": "listen_host_admission_is_native_host_only"
            }
          },
          "signature": "(sessionId: string) => Promise<ListenCloseResult>",
          "transportOwner": "shell"
        },
        "consume": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "CONFLICT",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "sdk_minted_operation_id",
          "input": "sessionId: string, listenJoinToken: string, connectionId: string",
          "output": "Promise<ListenAdmissionResult>",
          "profilePolicies": {
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "sdk_minted_operation_id",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "unavailable",
              "bindable": false,
              "correction": "listen_host_admission_is_native_host_only"
            }
          },
          "signature": "(sessionId: string, listenJoinToken: string, connectionId: string) => Promise<ListenAdmissionResult>",
          "transportOwner": "shell"
        },
        "heartbeat": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "CONFLICT",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "sessionId: string",
          "output": "Promise<ListenHeartbeatResult>",
          "profilePolicies": {
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "unavailable",
              "bindable": false,
              "correction": "listen_host_admission_is_native_host_only"
            }
          },
          "signature": "(sessionId: string) => Promise<ListenHeartbeatResult>",
          "transportOwner": "shell"
        },
        "release": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "CONFLICT",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "sdk_minted_operation_id",
          "input": "sessionId: string, seatId: string, connectionId: string",
          "output": "Promise<ListenReleaseResult>",
          "profilePolicies": {
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "sdk_minted_operation_id",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "unavailable",
              "bindable": false,
              "correction": "listen_host_admission_is_native_host_only"
            }
          },
          "signature": "(sessionId: string, seatId: string, connectionId: string) => Promise<ListenReleaseResult>",
          "transportOwner": "shell"
        }
      }
    },
    "locomotion": {
      "methods": {
        "getEquipped": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "Promise<EquippedLocomotionPack | null>",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "network_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "network_provider"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "network_provider"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<EquippedLocomotionPack | null>",
          "transportOwner": "network_provider"
        }
      }
    },
    "marketplace": {
      "methods": {
        "getListings": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "public_or_player_access"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "query?: MarketplaceQuery",
          "output": "Promise<MarketplaceListing[]>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "public_or_player_access"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "public_or_player_access"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "public_or_player_access"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(query?: MarketplaceQuery) => Promise<MarketplaceListing[]>",
          "transportOwner": "shell"
        },
        "getPurchase": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "lookup_by_original_key",
          "input": "idempotencyKey: string, ref?: string",
          "output": "Promise<PurchaseResult | null>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "lookup_by_original_key",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "lookup_by_original_key",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(idempotencyKey: string, ref?: string) => Promise<PurchaseResult | null>",
          "transportOwner": "shell"
        },
        "getPurchaseContext": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "ref: string, options?: PurchaseOptions | number",
          "output": "Promise<PurchaseContext | null>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(ref: string, options?: PurchaseOptions | number) => Promise<PurchaseContext | null>",
          "transportOwner": "shell"
        },
        "purchaseDistribution": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "required_or_sdk_managed",
          "input": "distributionId: string, options?: PurchaseOptions | number",
          "output": "Promise<PurchaseResult>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "required_or_sdk_managed",
              "receipt": "helix-purchase-receipt",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "required_or_sdk_managed",
              "receipt": "helix-purchase-receipt",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "receipt": "helix-purchase-receipt",
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(distributionId: string, options?: PurchaseOptions | number) => Promise<PurchaseResult>",
          "transportOwner": "shell"
        },
        "purchaseDistributionKey": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "required_or_sdk_managed",
          "input": "key: string, options?: PurchaseOptions | number",
          "output": "Promise<PurchaseResult>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "required_or_sdk_managed",
              "receipt": "helix-purchase-receipt",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "required_or_sdk_managed",
              "receipt": "helix-purchase-receipt",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "receipt": "helix-purchase-receipt",
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(key: string, options?: PurchaseOptions | number) => Promise<PurchaseResult>",
          "transportOwner": "shell"
        },
        "purchaseListing": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "required_or_sdk_managed",
          "input": "listingId: string, options?: PurchaseOptions",
          "output": "Promise<PurchaseResult>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "required_or_sdk_managed",
              "receipt": "helix-purchase-receipt",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "required_or_sdk_managed",
              "receipt": "helix-purchase-receipt",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "receipt": "helix-purchase-receipt",
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(listingId: string, options?: PurchaseOptions) => Promise<PurchaseResult>",
          "transportOwner": "shell"
        },
        "purchaseProduct": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "required_or_sdk_managed",
          "input": "productKey: string, options?: PurchaseOptions | number",
          "output": "Promise<PurchaseResult>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "required_or_sdk_managed",
              "receipt": "helix-purchase-receipt",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "required_or_sdk_managed",
              "receipt": "helix-purchase-receipt",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "receipt": "helix-purchase-receipt",
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(productKey: string, options?: PurchaseOptions | number) => Promise<PurchaseResult>",
          "transportOwner": "shell"
        }
      }
    },
    "matchmaking": {
      "methods": {
        "cancel": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "CONFLICT",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "delete_current",
          "input": "",
          "output": "Promise<void>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "delete_current",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "delete_current",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "matchmaking_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<void>",
          "transportOwner": "direct"
        },
        "enqueue": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "CONFLICT",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "server_defined",
          "input": "queueId: string",
          "output": "Promise<QueueStatus>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "server_defined",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "server_defined",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "matchmaking_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(queueId: string) => Promise<QueueStatus>",
          "transportOwner": "direct"
        },
        "onMatch": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "cb: (match: MatchFound) => void) => (",
          "output": "void",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "matchmaking_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(cb: (match: MatchFound) => void) => () => void",
          "transportOwner": "direct"
        },
        "onStatus": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "cb: (status: QueueStatus) => void) => (",
          "output": "void",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "matchmaking_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(cb: (status: QueueStatus) => void) => () => void",
          "transportOwner": "direct"
        },
        "status": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "CONFLICT",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "Promise<QueueStatus>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "matchmaking_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<QueueStatus>",
          "transportOwner": "direct"
        }
      }
    },
    "materials": {
      "methods": {
        "clearCache": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "void",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => void",
          "transportOwner": "local"
        },
        "fromCatalog": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "assetBaseUrl: string, catalog: HelixMaterialCatalog",
          "output": "HelixMaterialLibrary",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(assetBaseUrl: string, catalog: HelixMaterialCatalog) => HelixMaterialLibrary",
          "transportOwner": "local"
        },
        "load": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "cache_by_url",
          "input": "assetBaseUrl: string",
          "output": "Promise<HelixMaterialLibrary>",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "cache_by_url",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "cache_by_url",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "cache_by_url",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(assetBaseUrl: string) => Promise<HelixMaterialLibrary>",
          "transportOwner": "local"
        }
      }
    },
    "multiplayer": {
      "handles": {
        "HelixRoom": {
          "methods": [
            "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"
          ],
          "properties": [
            "roomId",
            "sessionId",
            "roomType",
            "instanceKey",
            "effectiveUploadHz",
            "state",
            "vars",
            "me",
            "phase",
            "currentTurn",
            "isMyTurn"
          ]
        }
      },
      "methods": {
        "configure": {
          "authority": "client",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "replace_configuration",
          "input": "options: { apiBaseUrl: string; }",
          "output": "void",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "replace_configuration",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "network_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "replace_configuration",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "network_provider"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "replace_configuration",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "network_provider"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(options: { apiBaseUrl: string; }) => void",
          "transportOwner": "network_provider"
        },
        "currentRoomId": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "string | null",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "network_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "network_provider"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "network_provider"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => string | null",
          "transportOwner": "network_provider"
        },
        "joinRoom": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session_then_room_credential"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "reservation_defined",
          "input": "worldId?: string, options?: JoinRoomOptions",
          "output": "Promise<HelixRoom>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session_then_room_credential"
              ],
              "idempotency": "reservation_defined",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "network_provider"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session_then_room_credential"
              ],
              "idempotency": "reservation_defined",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "network_provider"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(worldId?: string, options?: JoinRoomOptions) => Promise<HelixRoom>",
          "transportOwner": "network_provider"
        },
        "leave": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "Promise<void>",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "network_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "network_provider"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "network_provider"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<void>",
          "transportOwner": "network_provider"
        },
        "switchRoom": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session_then_room_credential"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT"
          ],
          "idempotency": "reservation_defined",
          "input": "target: SwitchRoomTarget, options?: SwitchRoomOptions",
          "output": "Promise<HelixRoom>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session_then_room_credential"
              ],
              "idempotency": "reservation_defined",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "network_provider"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session_then_room_credential"
              ],
              "idempotency": "reservation_defined",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "network_provider"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "room_hop_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(target: SwitchRoomTarget, options?: SwitchRoomOptions) => Promise<HelixRoom>",
          "transportOwner": "network_provider"
        }
      }
    },
    "notify": {
      "methods": {
        "failure": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "title: string, message?: string",
          "output": "boolean",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(title: string, message?: string) => boolean",
          "transportOwner": "shell"
        },
        "message": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "title: string, message?: string",
          "output": "boolean",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(title: string, message?: string) => boolean",
          "transportOwner": "shell"
        },
        "notification": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "title: string, message?: string",
          "output": "boolean",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(title: string, message?: string) => boolean",
          "transportOwner": "shell"
        },
        "show": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "notification: HelixNotification",
          "output": "boolean",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(notification: HelixNotification) => boolean",
          "transportOwner": "shell"
        },
        "success": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "title: string, message?: string",
          "output": "boolean",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(title: string, message?: string) => boolean",
          "transportOwner": "shell"
        }
      }
    },
    "party": {
      "methods": {
        "accept": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "CONFLICT",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "server_defined",
          "input": "inviteId: string",
          "output": "Promise<Party>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "server_defined",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "server_defined",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "party_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(inviteId: string) => Promise<Party>",
          "transportOwner": "direct"
        },
        "createCode": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "CONFLICT",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "replace_current",
          "input": "",
          "output": "Promise<PartyCode>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "replace_current",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "replace_current",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "party_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<PartyCode>",
          "transportOwner": "direct"
        },
        "decline": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "CONFLICT",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "delete_current",
          "input": "inviteId: string",
          "output": "Promise<void>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "delete_current",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "delete_current",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "party_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(inviteId: string) => Promise<void>",
          "transportOwner": "direct"
        },
        "get": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "CONFLICT",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "Promise<PartyState>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "party_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<PartyState>",
          "transportOwner": "direct"
        },
        "invite": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "CONFLICT",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "server_defined",
          "input": "userId: string",
          "output": "Promise<PartyInviteReceipt>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "server_defined",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "server_defined",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "party_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(userId: string) => Promise<PartyInviteReceipt>",
          "transportOwner": "direct"
        },
        "join": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "CONFLICT",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "server_defined",
          "input": "code: string",
          "output": "Promise<Party>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "server_defined",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "server_defined",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "party_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(code: string) => Promise<Party>",
          "transportOwner": "direct"
        },
        "kick": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "CONFLICT",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "delete_current",
          "input": "userId: string",
          "output": "Promise<void>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "delete_current",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "delete_current",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "party_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(userId: string) => Promise<void>",
          "transportOwner": "direct"
        },
        "leave": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "CONFLICT",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "delete_current",
          "input": "",
          "output": "Promise<void>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "delete_current",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "delete_current",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "party_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<void>",
          "transportOwner": "direct"
        },
        "onChange": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "cb: (state: PartyState) => void) => (",
          "output": "void",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "party_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(cb: (state: PartyState) => void) => () => void",
          "transportOwner": "direct"
        },
        "onError": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "cb: (error: HelixPartyError) => void) => (",
          "output": "void",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "party_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(cb: (error: HelixPartyError) => void) => () => void",
          "transportOwner": "direct"
        },
        "onInvite": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "cb: (invite: PartyInvite) => void) => (",
          "output": "void",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "party_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(cb: (invite: PartyInvite) => void) => () => void",
          "transportOwner": "direct"
        },
        "promote": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "CONFLICT",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "replace_current",
          "input": "userId: string",
          "output": "Promise<Party>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "replace_current",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "replace_current",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "party_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(userId: string) => Promise<Party>",
          "transportOwner": "direct"
        },
        "revokeCode": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "BACKEND_UNAVAILABLE",
            "CAPABILITY_DENIED",
            "CONFLICT",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "UNAVAILABLE"
          ],
          "idempotency": "delete_current",
          "input": "",
          "output": "Promise<void>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "delete_current",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "world_session"
              ],
              "idempotency": "delete_current",
              "requiredCapabilities": [
                "multiplayer"
              ],
              "transportOwner": "direct"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "multiplayer"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "party_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<void>",
          "transportOwner": "direct"
        }
      }
    },
    "presence": {
      "methods": {
        "clearActivity": {
          "authority": "platform",
          "availability": "correction_required",
          "correction": "runtime_scoped_presence_authority_required",
          "credentials": [
            "world_session_currently_rejected"
          ],
          "errors": [
            "CORRECTION_REQUIRED"
          ],
          "idempotency": "delete_current",
          "input": "",
          "output": "Promise<boolean>",
          "profilePolicies": {},
          "profiles": [],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "correction_required",
              "bindable": false,
              "correction": "runtime_scoped_presence_authority_required"
            },
            "web": {
              "availability": "correction_required",
              "bindable": false,
              "correction": "runtime_scoped_presence_authority_required"
            }
          },
          "signature": "() => Promise<boolean>",
          "transportOwner": "direct"
        },
        "setActivity": {
          "authority": "platform",
          "availability": "correction_required",
          "correction": "runtime_scoped_presence_authority_required",
          "credentials": [
            "world_session_currently_rejected"
          ],
          "errors": [
            "CORRECTION_REQUIRED"
          ],
          "idempotency": "replace_current",
          "input": "activity: HelixPresenceActivity",
          "output": "Promise<boolean>",
          "profilePolicies": {},
          "profiles": [],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "correction_required",
              "bindable": false,
              "correction": "runtime_scoped_presence_authority_required"
            },
            "web": {
              "availability": "correction_required",
              "bindable": false,
              "correction": "runtime_scoped_presence_authority_required"
            }
          },
          "signature": "(activity: HelixPresenceActivity) => Promise<boolean>",
          "transportOwner": "direct"
        }
      }
    },
    "prompts": {
      "methods": {
        "clear": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "delete_by_prompt_id_or_all",
          "input": "promptId?: string",
          "output": "boolean",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "delete_by_prompt_id_or_all",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "delete_by_prompt_id_or_all",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "delete_by_prompt_id_or_all",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(promptId?: string) => boolean",
          "transportOwner": "shell"
        },
        "set": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "replace_by_prompt_id",
          "input": "prompt: HelixInteractionPrompt",
          "output": "boolean",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_by_prompt_id",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_by_prompt_id",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_by_prompt_id",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(prompt: HelixInteractionPrompt) => boolean",
          "transportOwner": "shell"
        }
      }
    },
    "purchases": {
      "methods": {
        "consume": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "sdk_minted_operation_id",
          "input": "code: string, amount: number",
          "output": "Promise<ConsumeResult>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "sdk_minted_operation_id",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "sdk_minted_operation_id",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(code: string, amount: number) => Promise<ConsumeResult>",
          "transportOwner": "shell"
        },
        "getEntitlements": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "Promise<Entitlements>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<Entitlements>",
          "transportOwner": "shell"
        },
        "getPurchase": {
          "authority": "platform",
          "availability": "available",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "lookup_by_original_key",
          "input": "idempotencyKey: string, ref?: string",
          "output": "Promise<PurchaseResult | null>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "lookup_by_original_key",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "available",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "lookup_by_original_key",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(idempotencyKey: string, ref?: string) => Promise<PurchaseResult | null>",
          "transportOwner": "shell"
        },
        "onEntitlementsChanged": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "cb: () => void) => ((",
          "output": "void)",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(cb: () => void) => (() => void)",
          "transportOwner": "shell"
        }
      }
    },
    "root": {
      "methods": {
        "getSessionToken": {
          "authority": "client",
          "availability": "correction_required",
          "correction": "web_world_session_is_not_an_unreal_runtime_credential",
          "credentials": [
            "world_session"
          ],
          "errors": [
            "CORRECTION_REQUIRED"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "string | null",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "conditional",
              "correction": "web_only_raw_world_session_token",
              "credentials": [
                "world_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "conditional",
              "correction": "web_only_raw_world_session_token",
              "credentials": [
                "world_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "correction_required",
              "bindable": false,
              "correction": "raw_session_token_must_not_be_unreal_bindable"
            },
            "web": {
              "availability": "conditional",
              "bindable": true,
              "correction": "web_only_raw_world_session_token"
            }
          },
          "signature": "() => string | null",
          "transportOwner": "local"
        },
        "hasLeft": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "boolean",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "world_leave_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => boolean",
          "transportOwner": "local"
        },
        "init": {
          "authority": "shell_player",
          "availability": "available",
          "credentials": [
            "shell_player_session_or_preview"
          ],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "one_initialization_per_runtime",
          "input": "",
          "output": "Promise<HelixInitResult>",
          "profilePolicies": {
            "client": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [
                "shell_player_session_or_preview"
              ],
              "idempotency": "one_initialization_per_runtime",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [
                "shell_player_session_or_preview"
              ],
              "idempotency": "one_initialization_per_runtime",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "shell_player",
              "availability": "available",
              "credentials": [
                "shell_player_session_or_preview"
              ],
              "idempotency": "one_initialization_per_runtime",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<HelixInitResult>",
          "transportOwner": "shell"
        },
        "onLeave": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "cb: () => void) => (",
          "output": "void",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "conditional",
              "bindable": true,
              "correction": "world_leave_requires_runtime_capability_discovery"
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(cb: () => void) => () => void",
          "transportOwner": "shell"
        }
      }
    },
    "voice": {
      "methods": {
        "applySettings": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "replace_current",
          "input": "settings: HelixVoiceSettings",
          "output": "Promise<void>",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(settings: HelixVoiceSettings) => Promise<void>",
          "transportOwner": "voice_provider"
        },
        "channel": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "string | null",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => string | null",
          "transportOwner": "local"
        },
        "channelOf": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "userId: string",
          "output": "string | null",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(userId: string) => string | null",
          "transportOwner": "local"
        },
        "getMicMode": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "HelixVoiceMicMode",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => HelixVoiceMicMode",
          "transportOwner": "local"
        },
        "join": {
          "authority": "platform",
          "availability": "correction_required",
          "correction": "shell_owned_cross_runtime_voice_contract_required",
          "credentials": [
            "world_session_or_instance_assignment"
          ],
          "errors": [
            "CORRECTION_REQUIRED"
          ],
          "idempotency": "one_connection_per_client",
          "input": "options?: JoinVoiceOptions",
          "output": "Promise<boolean>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "correction_required",
              "correction": "shell_owned_cross_runtime_voice_contract_required",
              "credentials": [
                "world_session_or_instance_assignment"
              ],
              "idempotency": "one_connection_per_client",
              "requiredCapabilities": [
                "voice.room"
              ],
              "transportOwner": "voice_provider"
            },
            "listen": {
              "authority": "platform",
              "availability": "correction_required",
              "correction": "shell_owned_cross_runtime_voice_contract_required",
              "credentials": [
                "world_session_or_instance_assignment"
              ],
              "idempotency": "one_connection_per_client",
              "requiredCapabilities": [
                "voice.room"
              ],
              "transportOwner": "voice_provider"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "voice.room"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "correction_required",
              "bindable": false,
              "correction": "shell_owned_cross_runtime_voice_contract_required"
            },
            "web": {
              "availability": "correction_required",
              "bindable": false,
              "correction": "shell_owned_cross_runtime_voice_contract_required"
            }
          },
          "signature": "(options?: JoinVoiceOptions) => Promise<boolean>",
          "transportOwner": "voice_provider"
        },
        "leave": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "Promise<void>",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<void>",
          "transportOwner": "voice_provider"
        },
        "mutedUserIds": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "string[]",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => string[]",
          "transportOwner": "local"
        },
        "onParticipantsChanged": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "cb: (userIds: string[]) => void) => (",
          "output": "void",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(cb: (userIds: string[]) => void) => () => void",
          "transportOwner": "voice_provider"
        },
        "onSpeakingChanged": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "cb: (userIds: string[]) => void) => (",
          "output": "void",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(cb: (userIds: string[]) => void) => () => void",
          "transportOwner": "voice_provider"
        },
        "participantIds": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "INVALID_ARGUMENT"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "string[]",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "local"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => string[]",
          "transportOwner": "local"
        },
        "setChannel": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "replace_current",
          "input": "channelId: string | null",
          "output": "Promise<void>",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [
                "voice.room"
              ],
              "transportOwner": "voice_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [
                "voice.room"
              ],
              "transportOwner": "voice_provider"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "voice.room"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(channelId: string | null) => Promise<void>",
          "transportOwner": "voice_provider"
        },
        "setDevice": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "replace_current",
          "input": "deviceId: string, label?: string",
          "output": "Promise<void>",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(deviceId: string, label?: string) => Promise<void>",
          "transportOwner": "voice_provider"
        },
        "setListenerPose": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "replace_current",
          "input": "position: HelixVoiceVec3, forward: HelixVoiceVec3, up?: HelixVoiceVec3",
          "output": "void",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [
                "voice.proximity"
              ],
              "transportOwner": "voice_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [
                "voice.proximity"
              ],
              "transportOwner": "voice_provider"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "voice.proximity"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(position: HelixVoiceVec3, forward: HelixVoiceVec3, up?: HelixVoiceVec3) => void",
          "transportOwner": "voice_provider"
        },
        "setMicMode": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "replace_current",
          "input": "mode: HelixVoiceMicMode",
          "output": "Promise<void>",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(mode: HelixVoiceMicMode) => Promise<void>",
          "transportOwner": "voice_provider"
        },
        "setMicVolume": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "replace_current",
          "input": "volume: number",
          "output": "void",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(volume: number) => void",
          "transportOwner": "voice_provider"
        },
        "setOutputVolume": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "replace_current",
          "input": "volume: number",
          "output": "void",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(volume: number) => void",
          "transportOwner": "voice_provider"
        },
        "setParticipantPosition": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "replace_by_participant",
          "input": "userId: string, position: HelixVoiceVec3 | null",
          "output": "void",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_by_participant",
              "requiredCapabilities": [
                "voice.proximity"
              ],
              "transportOwner": "voice_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_by_participant",
              "requiredCapabilities": [
                "voice.proximity"
              ],
              "transportOwner": "voice_provider"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [
            "voice.proximity"
          ],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(userId: string, position: HelixVoiceVec3 | null) => void",
          "transportOwner": "voice_provider"
        },
        "setParticipantVolume": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "replace_by_participant",
          "input": "userId: string, volume: number",
          "output": "void",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_by_participant",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_by_participant",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(userId: string, volume: number) => void",
          "transportOwner": "voice_provider"
        },
        "setPlayerMuted": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "replace_by_user",
          "input": "userId: string, muted: boolean",
          "output": "void",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_by_user",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_by_user",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(userId: string, muted: boolean) => void",
          "transportOwner": "voice_provider"
        },
        "setPttDown": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "replace_current",
          "input": "down: boolean",
          "output": "void",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "replace_current",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(down: boolean) => void",
          "transportOwner": "voice_provider"
        },
        "startAudio": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "Promise<void>",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "voice_provider"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "() => Promise<void>",
          "transportOwner": "voice_provider"
        }
      }
    },
    "wallet": {
      "methods": {
        "getBalance": {
          "authority": "platform",
          "availability": "correction_required",
          "correction": "consume_authoritative_spendable_balance",
          "credentials": [
            "shell_player_session"
          ],
          "errors": [
            "CORRECTION_REQUIRED"
          ],
          "idempotency": "not_applicable",
          "input": "",
          "output": "Promise<Balance>",
          "profilePolicies": {
            "client": {
              "authority": "platform",
              "availability": "correction_required",
              "correction": "consume_authoritative_spendable_balance",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "platform",
              "availability": "correction_required",
              "correction": "consume_authoritative_spendable_balance",
              "credentials": [
                "shell_player_session"
              ],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "correction_required",
              "bindable": false,
              "correction": "consume_authoritative_spendable_balance"
            },
            "web": {
              "availability": "correction_required",
              "bindable": false,
              "correction": "consume_authoritative_spendable_balance"
            }
          },
          "signature": "() => Promise<Balance>",
          "transportOwner": "shell"
        },
        "onBalanceChanged": {
          "authority": "client",
          "availability": "available",
          "credentials": [],
          "errors": [
            "AUTH_REQUIRED",
            "CAPABILITY_DENIED",
            "INVALID_ARGUMENT",
            "RATE_LIMITED",
            "TIMEOUT",
            "BACKEND_UNAVAILABLE"
          ],
          "idempotency": "not_applicable",
          "input": "cb: (b: Balance) => void) => ((",
          "output": "void)",
          "profilePolicies": {
            "client": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "listen": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            },
            "preview": {
              "authority": "client",
              "availability": "available",
              "credentials": [],
              "idempotency": "not_applicable",
              "requiredCapabilities": [],
              "transportOwner": "shell"
            }
          },
          "profiles": [
            "client",
            "preview",
            "listen"
          ],
          "requiredCapabilities": [],
          "runtimeBindings": {
            "unreal": {
              "availability": "available",
              "bindable": true
            },
            "web": {
              "availability": "available",
              "bindable": true
            }
          },
          "signature": "(cb: (b: Balance) => void) => (() => void)",
          "transportOwner": "shell"
        }
      }
    }
  },
  "protocolVersion": 2,
  "publicApi": {
    "entryPoint": "src/index.ts",
    "exports": [
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface AbilityMessage {\n    ability: string;\n    active: boolean;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "AbilityMessage"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface AccessorModuleState {\n    roomVars?: Record<string, unknown>;\n    players?: KeyedBag<PlayerBag>;\n    entities?: KeyedBag<EntityBag>;\n    phase?: string;\n    timerDeadlines?: KeyedBag<number>;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-accessors.ts"
          }
        ],
        "kind": "type",
        "name": "AccessorModuleState"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface AccessorRoomState {\n    roomVars?: Record<string, unknown>;\n    players?: {\n        get(id: string): PlayerBag;\n    } | Record<string, PlayerBag>;\n    phase?: string;\n    modules?: Record<string, AccessorModuleState | undefined>;\n    moduleChunks?: Record<string, Record<string, AccessorModuleState | undefined> | undefined>;\n    dynamicModules?: KeyedBag<AccessorDynamicModuleState>;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-accessors.ts"
          }
        ],
        "kind": "type",
        "name": "AccessorRoomState"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type AccountVerificationLevel = 'basic' | 'verified' | 'identity_verified' | 'business_verified';",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "AccountVerificationLevel"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type AchievementListResult = {\n    achievements: AchievementSummary[];\n    total: number;\n    earned: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "AchievementListResult"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type AchievementMineResult = {\n    achievements: AchievementSummary[];\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "AchievementMineResult"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "AchievementSummary"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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<string, RoomVarValue>;\n    vehicleAction?: VehicleActionEnvelope;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "ActionMessage"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/action-surface.ts"
          }
        ],
        "kind": "type",
        "name": "ActionSurfaceAction"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface ActionSurfaceAvailability {\n    state: 'available' | 'busy' | 'occupied';\n    label?: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/action-surface.ts"
          }
        ],
        "kind": "type",
        "name": "ActionSurfaceAvailability"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type ActionSurfaceDevice = 'keyboard' | 'gamepad' | 'touch';",
            "kind": "TypeAliasDeclaration",
            "source": "src/action-surface.ts"
          }
        ],
        "kind": "type",
        "name": "ActionSurfaceDevice"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface ActionSurfaceHintSource {\n    activeDevice(): ActionSurfaceDevice;\n    hint(action: Extract<StandardModeAction, 'move' | 'primary' | 'cancel'>): string;\n    subscribe?(listener: () => void): () => void;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/action-surface.ts"
          }
        ],
        "kind": "type",
        "name": "ActionSurfaceHintSource"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/action-surface.ts"
          }
        ],
        "kind": "type",
        "name": "ActionSurfaceInvocation"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type ActionSurfaceKind = 'run' | 'choice' | 'number' | 'text' | 'point' | 'asset' | 'takeover';",
            "kind": "TypeAliasDeclaration",
            "source": "src/action-surface.ts"
          }
        ],
        "kind": "type",
        "name": "ActionSurfaceKind"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface ActionSurfaceModeOptions {\n    surface: UniversalActionSurface;\n    id?: string;\n    suppression?: Suppression;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/action-surface.ts"
          }
        ],
        "kind": "type",
        "name": "ActionSurfaceModeOptions"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface ActionSurfaceOption {\n    value: string;\n    label: string;\n    disabled?: boolean;\n    reason?: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/action-surface.ts"
          }
        ],
        "kind": "type",
        "name": "ActionSurfaceOption"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface ActionSurfaceOptionsFrom {\n    query?: {\n        has: string;\n        scope?: 'room' | 'world';\n    };\n    inventory?: {\n        accepts: string;\n    };\n    var?: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/action-surface.ts"
          }
        ],
        "kind": "type",
        "name": "ActionSurfaceOptionsFrom"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface ActionSurfaceSnapshot {\n    instanceId: string;\n    title: string;\n    actions: readonly ActionSurfaceAction[];\n    availability?: ActionSurfaceAvailability;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/action-surface.ts"
          }
        ],
        "kind": "type",
        "name": "ActionSurfaceSnapshot"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "const ANY_VERB = '*';",
            "kind": "VariableDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "value",
        "name": "ANY_VERB"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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;",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "value",
        "name": "ATTACHMENT_LIMITS"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface AttachmentEntry {\n    id: string;\n    asset: string;\n    socket: string;\n    position: Vec3;\n    rotationEulerDeg: Vec3;\n    preset: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/state.ts"
          }
        ],
        "kind": "type",
        "name": "AttachmentEntry"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface AttachmentsMessage {\n    attachments: AttachmentEntry[];\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "AttachmentsMessage"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type AvatarComposition = {\n    compositionDigest: string;\n    appearanceDigest: string;\n    hostKind: 'character';\n    appearance: {\n        hiddenSlotIds: string[];\n        materialOverrides: Record<string, unknown>;\n        colorOverrides: Record<string, unknown>;\n    };\n    instanceThumbnailUrl: string | null;\n    base: {\n        itemId: string;\n        modelUrl: string | null;\n    };\n    materials: Record<string, unknown>;\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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "AvatarComposition"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "AvatarLoadout"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type AvatarLoadoutPatch = {\n    baseShape?: AvatarBaseShape;\n    customAvatarInventoryItemId?: string | null;\n    equippedSlots?: Record<string, string | null>;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "AvatarLoadoutPatch"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type AvatarRefreshMessage = Record<string, never>;",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "AvatarRefreshMessage"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type Balance = {\n    lix: number;\n    coins: number;\n    updatedAt?: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "Balance"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "value",
        "name": "bindStackSafety"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type BroadcastPayload = Record<string, RoomVarValue>;",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "BroadcastPayload"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "const CAMERA_CAPABILITY_FLAGS: readonly CameraCapabilityFlag[] = [\n    'photo',\n    'video',\n    'drone',\n    'twoHandPose',\n    'focusPoint',\n    'exposureBias',\n    'worldAudio',\n];",
            "kind": "VariableDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "CAMERA_CAPABILITY_FLAGS"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "const CAMERA_LENS_PRESETS = [0.5, 1, 2, 3, 5] as const;",
            "kind": "VariableDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "value",
        "name": "CAMERA_LENS_PRESETS"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "const CAMERA_MAX_ZOOM: number = CAMERA_LENS_PRESETS[CAMERA_LENS_PRESETS.length - 1];",
            "kind": "VariableDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "CAMERA_MAX_ZOOM"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "const CAMERA_MIN_ZOOM: number = CAMERA_LENS_PRESETS[0];",
            "kind": "VariableDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "CAMERA_MIN_ZOOM"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type CameraAim = {\n    yaw: number;\n    pitch: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "CameraAim"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type CameraAspect = 'portrait' | 'landscape' | 'square' | 'free';",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "CameraAspect"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type CameraCapabilityFlag = Exclude<keyof HelixCameraCapability, 'unavailableReason'>;",
            "kind": "TypeAliasDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "type",
        "name": "CameraCapabilityFlag"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "cameraCapabilityGate"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type CameraControlTarget = 'camera' | 'avatar';",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "CameraControlTarget"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type CameraDroneLockMode = 'free' | 'lock' | 'orbit';",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "CameraDroneLockMode"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type CameraFilterId = 'original' | 'vivid' | 'warm' | 'cool' | 'mono';",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "CameraFilterId"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type CameraFocusPoint = {\n    x: number;\n    y: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "CameraFocusPoint"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "CameraIntent"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type CameraLensPreset = (typeof CAMERA_LENS_PRESETS)[number];",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "CameraLensPreset"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type CameraMediaMode = 'photo' | 'video';",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "CameraMediaMode"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type CameraSessionState = 'inactive' | 'device-hold' | 'rear' | 'selfie' | 'drone';",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "CameraSessionState"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type CameraSpatialMode = 'rear' | 'selfie' | 'drone';",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "CameraSpatialMode"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type CameraTimerSeconds = 0 | 3 | 10;",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "CameraTimerSeconds"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type CameraVector3 = {\n    x: number;\n    y: number;\n    z: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "CameraVector3"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type Capability = ModeCapability;",
            "kind": "TypeAliasDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "Capability"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export async function captureCanvas(source: HTMLCanvasElement, opts: CaptureOptions = {}): Promise<Blob> {\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}",
            "kind": "FunctionDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "captureCanvas"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type CaptureOptions = {\n    aspect?: CameraAspect;\n    type?: string;\n    quality?: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "type",
        "name": "CaptureOptions"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "clampCameraZoom"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "ClientMessagePayloads"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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;",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          },
          {
            "declaration": "export type ClientMessageType = (typeof ClientMessageType)[keyof typeof ClientMessageType];",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "ClientMessageType"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "cloneCameraCapability"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "cloneCameraState"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type ConsumeResult = {\n    applied: boolean;\n    balance: number;\n    reason?: 'insufficient';\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "ConsumeResult"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const CONTRACT_VERSION = 34 as const;",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/index.ts"
          }
        ],
        "kind": "value",
        "name": "CONTRACT_VERSION"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/action-surface.ts"
          }
        ],
        "kind": "value",
        "name": "createActionSurfaceInputMap"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export function createActionSurfaceMode(options: ActionSurfaceModeOptions): InteractionMode<void> {\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<void>) {\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}",
            "kind": "FunctionDeclaration",
            "source": "src/action-surface.ts"
          }
        ],
        "kind": "value",
        "name": "createActionSurfaceMode"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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<string | null> {\n        const source = options.accessToken;\n        return typeof source === 'function' ? await source() : (source ?? null);\n    }\n    async function request<T>(path: string, init: RequestInit = {}): Promise<T> {\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<DreamerAudioJob> {\n        return request(`/assets/jobs/${encodeURIComponent(jobId)}`);\n    }\n    async function generate(input: DreamerAudioGenerateRequest, pollOptions: DreamerAudioPollOptions = {}): Promise<DreamerAudioSucceededJob> {\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<DreamerGeneratedVaultAudio> {\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}",
            "kind": "FunctionDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "value",
        "name": "createDreamerAudioClient"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/materials.ts"
          }
        ],
        "kind": "value",
        "name": "createMaterialLibrary"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export function createMaterialsNamespace(fetchCatalog?: typeof fetch): {\n    load(assetBaseUrl: string): Promise<HelixMaterialLibrary>;\n    fromCatalog(assetBaseUrl: string, catalog: HelixMaterialCatalog): HelixMaterialLibrary;\n    clearCache(): void;\n} {\n    const cache = new Map<string, Promise<HelixMaterialLibrary>>();\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}",
            "kind": "FunctionDeclaration",
            "source": "src/materials.ts"
          }
        ],
        "kind": "value",
        "name": "createMaterialsNamespace"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export function createModuleAccessors(sessionId: string, moduleId: string, state: () => AccessorRoomState | null | undefined): ModuleAccessors {\n    const dynamicVars = (module: AccessorDynamicModuleState): Record<string, unknown> => {\n        const output: Record<string, unknown> = {};\n        const copy = <T>(bag: KeyedBag<T> | 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<AccessorDynamicModuleState>(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<PlayerBag> | KeyedBag<EntityBag> | undefined, id: string): Record<string, unknown> | undefined => keyedCollectionEntry<PlayerBag | EntityBag>(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<number>(current()?.timerDeadlines, key === undefined ? name : `${name}|${key}`) ?? 0,\n    };\n}",
            "kind": "FunctionDeclaration",
            "source": "src/multiplayer-accessors.ts"
          }
        ],
        "kind": "value",
        "name": "createModuleAccessors"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export function createRoomAccessors(sessionId: string, state: () => AccessorRoomState | null | undefined): RoomAccessors {\n    const vars = createVarsView(() => state()?.roomVars);\n    const playerVars = (id: string): Record<string, unknown> | undefined => {\n        const players = state()?.players;\n        if (!players)\n            return undefined;\n        return keyedCollectionEntry<PlayerBag>(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}",
            "kind": "FunctionDeclaration",
            "source": "src/multiplayer-accessors.ts"
          }
        ],
        "kind": "value",
        "name": "createRoomAccessors"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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<DeviceDefinitionV1> | undefined;\n    const resolver = (async (reference: DeviceDefinitionReference): Promise<DeviceDefinitionV1> => {\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}",
            "kind": "FunctionDeclaration",
            "source": "src/device-definition-resolver.ts"
          }
        ],
        "kind": "value",
        "name": "createSealedDeviceDefinitionResolver"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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: <T = unknown>(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<T>)];\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, unknown>): 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}",
            "kind": "FunctionDeclaration",
            "source": "src/multiplayer-accessors.ts"
          }
        ],
        "kind": "value",
        "name": "createVarsView"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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<string | null> {\n        const source = options.accessToken;\n        return typeof source === 'function' ? await source() : (source ?? null);\n    }\n    async function request(path: string, init: RequestInit = {}): Promise<Response> {\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<T>(path: string): Promise<T> {\n        const response = await request(path);\n        return (await response.json()) as T;\n    }\n    async function resolve<K extends VaultAssetKind = VaultAssetKind>(handleOrAssetId: VaultAssetHandle | string): Promise<VaultResolvedAsset<K>> {\n        const assetId = typeof handleOrAssetId === 'string'\n            ? handleOrAssetId\n            : handleOrAssetId.assetId;\n        const asset = await json<VaultAssetDetail<K>>(`/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<VaultAssetVersion[]> {\n        const response = await json<{\n            items: Array<Omit<VaultAssetVersion, 'handle'> & {\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<VaultDownloadedArtifact> {\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<VaultInstallOptions, 'verifyChecksum'> = {}): Promise<VaultDownloadedArtifact> {\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<VaultInstallOptions, 'verifyChecksum'> = {}): Promise<VaultDownloadedArtifact> {\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<VaultSearchResult>(`/assets${queryString(query)}`);\n        },\n        get<K extends VaultAssetKind = VaultAssetKind>(assetId: string) {\n            return json<VaultAssetDetail<K>>(`/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}",
            "kind": "FunctionDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "value",
        "name": "createVaultClient"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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<Record<string, {\n        purpose: Extract<VaultLoadPlan, {\n            loader: 'helix-descriptor';\n        }>['purpose'];\n        schema: Extract<VaultLoadPlan, {\n            loader: 'helix-descriptor';\n        }>['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}",
            "kind": "FunctionDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "value",
        "name": "createVaultLoadPlan"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type CropRect = {\n    sx: number;\n    sy: number;\n    sw: number;\n    sh: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "type",
        "name": "CropRect"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "cropRectForAspect"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type DataStoreListOptions = {\n    cursor?: string;\n    limit?: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "DataStoreListOptions"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type DataStoreListPage = {\n    keys: string[];\n    nextCursor?: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "DataStoreListPage"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type DataStoreListPayload = {\n    prefix?: string;\n    cursor?: string;\n    limit?: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "DataStoreListPayload"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type DataStoreWriteOptions = {\n    expectedVersion?: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "DataStoreWriteOptions"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type DebugLogEntry = {\n    level: DebugLogLevel;\n    args: string[];\n    t: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "DebugLogEntry"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type DebugLogLevel = 'log' | 'info' | 'warn' | 'error' | 'debug';",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "DebugLogLevel"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "const DEFAULT_MATERIAL_PACK_SLUG = 'helix-materials';",
            "kind": "VariableDeclaration",
            "source": "src/materials.ts"
          }
        ],
        "kind": "value",
        "name": "DEFAULT_MATERIAL_PACK_SLUG"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const DEFAULT_PUSH_TO_TALK_KEY = 'n';",
            "kind": "VariableDeclaration",
            "source": "src/voice.ts"
          }
        ],
        "kind": "value",
        "name": "DEFAULT_PUSH_TO_TALK_KEY"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "defaultCameraCapability"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "defaultCameraState"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface DeviceAppDefinitionV1 {\n    type: DeviceAppTypeV1;\n    entry?: string;\n    allowedOrigins?: string[];\n    permissions?: DeviceAppPermissionV1[];\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "type",
        "name": "DeviceAppDefinitionV1"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type DeviceAppPermissionV1 = 'web.content' | 'network.fetch' | 'web.externalNavigation' | 'audio.media';",
            "kind": "TypeAliasDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "type",
        "name": "DeviceAppPermissionV1"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type DeviceAppTypeV1 = 'localWeb' | 'remoteWeb' | 'youtube' | 'canvas' | 'remoteImage' | 'ownerImage';",
            "kind": "TypeAliasDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "type",
        "name": "DeviceAppTypeV1"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface DeviceBusBudgetsV1 {\n    maxGraphLinks: number;\n    maxLinksPerEndpoint: number;\n    maxHopsPerDelivery: number;\n    maxQueuedDeliveriesPerTick: number;\n    maxDeliveriesPerLinkPerTick: number;\n    replayWindow: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "type",
        "name": "DeviceBusBudgetsV1"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface DeviceBusEnvelopeV1<T = unknown> {\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}",
            "kind": "InterfaceDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "type",
        "name": "DeviceBusEnvelopeV1"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type DeviceDefinitionReference = {\n    id: string;\n    version: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "type",
        "name": "DeviceDefinitionReference"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface DeviceDefinitionV1 {\n    format: 'helix.device';\n    formatVersion: 1;\n    id: string;\n    version: string;\n    state: Record<string, {\n        type: 'boolean' | 'integer' | 'float' | 'string' | 'enum';\n        default?: string | number | boolean;\n        persist?: boolean;\n    }>;\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<string, DeviceAppDefinitionV1>;\n    [key: string]: unknown;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "type",
        "name": "DeviceDefinitionV1"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface DevicePortAddressV1 {\n    instanceId: string;\n    port: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "type",
        "name": "DevicePortAddressV1"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type DevicePortAuthorityV1 = 'local' | 'server';",
            "kind": "TypeAliasDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "type",
        "name": "DevicePortAuthorityV1"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type DevicePortDataTypeV1 = 'boolean' | 'number' | 'string' | 'media.audio' | 'media.video';",
            "kind": "TypeAliasDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "type",
        "name": "DevicePortDataTypeV1"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type DevicePortDirectionV1 = 'input' | 'output' | 'bidirectional';",
            "kind": "TypeAliasDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "type",
        "name": "DevicePortDirectionV1"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type DevicePortKindV1 = 'value' | 'event' | 'command' | 'stream';",
            "kind": "TypeAliasDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "type",
        "name": "DevicePortKindV1"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "type",
        "name": "DevicePortV1"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type DeviceStreamHandleV1 = string & {\n    readonly __deviceStreamHandleV1: unique symbol;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "type",
        "name": "DeviceStreamHandleV1"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type DeviceStreamRoutabilityV1 = 'routable' | 'embedded-only' | 'unavailable';",
            "kind": "TypeAliasDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "type",
        "name": "DeviceStreamRoutabilityV1"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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}>;",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "DeviceTrialSpawn"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const DISTRIBUTION_CAPABILITY_MESSAGE = 'distributionCapability';",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "value",
        "name": "DISTRIBUTION_CAPABILITY_MESSAGE"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const DISTRIBUTION_CAPABILITY_RESULT = 'distributionCapabilityResult';",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "value",
        "name": "DISTRIBUTION_CAPABILITY_RESULT"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type DistributionCapabilityRequestMessage = {\n    requestId: string;\n    ref: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "DistributionCapabilityRequestMessage"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type DistributionCapabilityResultMessage = {\n    requestId: string;\n    capability: string;\n    expiresAt: string;\n    ref: string;\n} | {\n    requestId: string;\n    error: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "DistributionCapabilityResultMessage"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "const DREAMER_AUDIO_TIMEOUT_MS = 30 * 60000;",
            "kind": "VariableDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "value",
        "name": "DREAMER_AUDIO_TIMEOUT_MS"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "ClassDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "DreamerAudioApiError"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type DreamerAudioArtifact = {\n    url: string;\n    contentType: string;\n    sizeBytes: number;\n    kind: 'audio';\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "type",
        "name": "DreamerAudioArtifact"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "ClassDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "DreamerAudioCapabilityUnavailableError"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type DreamerAudioClient = {\n    start(input: DreamerAudioGenerateRequest): Promise<{\n        jobId: string;\n        status: 'queued';\n    }>;\n    get(jobId: string): Promise<DreamerAudioJob>;\n    generate(input: DreamerAudioGenerateRequest, options?: DreamerAudioPollOptions): Promise<DreamerAudioSucceededJob>;\n    generateAndResolve(input: DreamerAudioGenerateRequest, options?: DreamerAudioPollOptions): Promise<DreamerGeneratedVaultAudio>;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "type",
        "name": "DreamerAudioClient"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type DreamerAudioClientOptions = {\n    apiBaseUrl: string;\n    fetch?: typeof fetch;\n    accessToken?: string | null | (() => string | null | Promise<string | null>);\n    pollIntervalMs?: number;\n    timeoutMs?: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "type",
        "name": "DreamerAudioClientOptions"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type DreamerAudioFailedJob = DreamerAudioJobBase & {\n    status: 'failed';\n    error?: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "type",
        "name": "DreamerAudioFailedJob"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type DreamerAudioGenerateRequest = DreamerSoundEffectRequest | DreamerMusicRequest | DreamerTextToSpeechRequest;",
            "kind": "TypeAliasDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "type",
        "name": "DreamerAudioGenerateRequest"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type DreamerAudioGenerationMode = 'sound_effect' | 'music' | 'text_to_speech';",
            "kind": "TypeAliasDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "type",
        "name": "DreamerAudioGenerationMode"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type DreamerAudioJob = DreamerAudioPendingJob | DreamerAudioFailedJob | DreamerAudioSucceededJob;",
            "kind": "TypeAliasDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "type",
        "name": "DreamerAudioJob"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "ClassDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "DreamerAudioJobFailedError"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "ClassDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "DreamerAudioJobTimeoutError"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type DreamerAudioPendingJob = DreamerAudioJobBase & {\n    status: 'queued' | 'running';\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "type",
        "name": "DreamerAudioPendingJob"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type DreamerAudioPollOptions = {\n    pollIntervalMs?: number;\n    timeoutMs?: number;\n    onProgress?: (job: DreamerAudioJob) => void;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "type",
        "name": "DreamerAudioPollOptions"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type DreamerAudioSucceededJob = DreamerAudioJobBase & {\n    status: 'succeeded';\n    asset: DreamerAudioArtifact;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "type",
        "name": "DreamerAudioSucceededJob"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "ClassDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "DreamerAudioVaultUnavailableError"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type DreamerAudioVoiceSettings = {\n    stability?: number;\n    similarityBoost?: number;\n    style?: number;\n    speed?: number;\n    speakerBoost?: boolean;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "type",
        "name": "DreamerAudioVoiceSettings"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type DreamerGeneratedVaultAudio = {\n    job: DreamerAudioSucceededJob;\n    resolved: VaultResolvedAsset<'audio'>;\n    loadPlan: Extract<VaultLoadPlan, {\n        loader: 'audio';\n    }>;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "type",
        "name": "DreamerGeneratedVaultAudio"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type DreamerMusicRequest = DreamerAudioRequestBase & {\n    audioMode: 'music';\n    prompt: string;\n    durationSeconds?: number;\n    forceInstrumental?: boolean;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "type",
        "name": "DreamerMusicRequest"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type DreamerSoundEffectRequest = DreamerAudioRequestBase & {\n    audioMode: 'sound_effect';\n    prompt: string;\n    durationSeconds?: number;\n    loop?: boolean;\n    promptInfluence?: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "type",
        "name": "DreamerSoundEffectRequest"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/dreamerAudio.ts"
          }
        ],
        "kind": "type",
        "name": "DreamerTextToSpeechRequest"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface DynamicModuleState {\n    phase: string;\n    externalRevision: number;\n    booleans: Record<string, boolean>;\n    numbers: Record<string, number>;\n    strings: Record<string, string>;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/room.ts"
          }
        ],
        "kind": "type",
        "name": "DynamicModuleState"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const EMOTE_LIMITS = {\n    maxEntries: 10,\n    maxClipUrlLength: 512,\n    maxLabelLength: 64,\n    maxPairOffsetM: 3,\n    maxOfferAtS: 600,\n} as const;",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "value",
        "name": "EMOTE_LIMITS"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/state.ts"
          }
        ],
        "kind": "type",
        "name": "EmoteEntry"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface EmoteJoinMessage {\n    initiator: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "EmoteJoinMessage"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type EmoteRefreshMessage = Record<string, never>;",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "EmoteRefreshMessage"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type Entitlements = {\n    v: 1;\n    passes: Record<string, {\n        since: number;\n        expiresAt: number | null;\n        active: boolean;\n    }>;\n    balances: Record<string, number>;\n    owned: Record<string, number>;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "Entitlements"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface EntityState {\n    id: string;\n    kind: string;\n    vehicleSeats?: Record<string, string>;\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}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/room.ts"
          }
        ],
        "kind": "type",
        "name": "EntityState"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "EntityStateAckEntry"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface EntityStateAckMessage {\n    moduleId?: string;\n    acks: EntityStateAckEntry[];\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "EntityStateAckMessage"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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<string, RoomVarValue>;\n    ep?: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "EntityStateBatchEntry"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "EntityStateBatchMessage"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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<string, RoomVarValue>;\n    epoch?: number;\n    tMs?: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "EntityStateMessage"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "EquippedAvatar"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "EquippedEmote"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type EquippedEmotes = {\n    emotes: EquippedEmote[];\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "EquippedEmotes"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type EquippedLocomotionPack = {\n    pack: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "EquippedLocomotionPack"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const FINAL_REST_REPLY = '__helix:finalRest';",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/final-rest.ts"
          }
        ],
        "kind": "value",
        "name": "FINAL_REST_REPLY"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const FINAL_REST_TIMEOUT_MS = 120000;",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/final-rest.ts"
          }
        ],
        "kind": "value",
        "name": "FINAL_REST_TIMEOUT_MS"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/final-rest.ts"
          }
        ],
        "kind": "type",
        "name": "FinalRestGrant"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const finalRestId = (v: unknown): v is string => typeof v === 'string' && /^[a-zA-Z0-9_.:-]{1,128}$/.test(v);",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/final-rest.ts"
          }
        ],
        "kind": "value",
        "name": "finalRestId"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface FinalRestMember {\n    id: string;\n    epoch: number;\n    position: Vec3;\n    velocity: Vec3;\n    angularVelocity: Vec3;\n    orientation: Quat;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/final-rest.ts"
          }
        ],
        "kind": "type",
        "name": "FinalRestMember"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface FinalRestProvenance extends FinalRestScope {\n    generation: number;\n    engagementEpoch?: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/final-rest.ts"
          }
        ],
        "kind": "type",
        "name": "FinalRestProvenance"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer-contract/final-rest.ts"
          }
        ],
        "kind": "type",
        "name": "FinalRestReply"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface FinalRestScope {\n    moduleId: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/final-rest.ts"
          }
        ],
        "kind": "type",
        "name": "FinalRestScope"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const finalRestScopeKey = (group: string, scope?: FinalRestScope): string => scope === undefined ? group : `m:${scope.moduleId}|${group}`;",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/final-rest.ts"
          }
        ],
        "kind": "value",
        "name": "finalRestScopeKey"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const finalRestSequence = (v: unknown): v is number => Number.isSafeInteger(v) && (v as number) > 0;",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/final-rest.ts"
          }
        ],
        "kind": "value",
        "name": "finalRestSequence"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const GESTURE_LIMITS = {\n    maxClipNameLength: 64,\n    clipNamePattern: /^[A-Za-z0-9][A-Za-z0-9_\\-.:]*$/,\n} as const;",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "value",
        "name": "GESTURE_LIMITS"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface GestureEventMessage {\n    player: string;\n    clip: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "GestureEventMessage"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface GestureMessage {\n    clip: string;\n    play: GesturePlay;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "GestureMessage"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type GesturePlay = 'oneshot' | 'loop' | 'stop';",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "GesturePlay"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface GroupRestSnapshotEntity {\n    epoch?: number;\n    velocity?: Vec3;\n    angularVelocity?: Vec3;\n    id: string;\n    pos: Vec3;\n    rot: Quat;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "GroupRestSnapshotEntity"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "GroupRestSnapshotMessage"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "const Helix = new HelixSdk();",
            "kind": "VariableDeclaration",
            "source": "src/index.ts"
          }
        ],
        "kind": "value",
        "name": "Helix"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixCameraCapability"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixCameraControl"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type HelixCameraDroneCommand = {\n    lockMode?: CameraDroneLockMode;\n    subjectUserId?: string;\n    transform?: HelixCameraDroneTransform;\n    velocity?: CameraVector3;\n    interpolationSeconds?: number;\n    returnToAvatar?: boolean;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixCameraDroneCommand"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixCameraDroneState"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type HelixCameraDroneTransform = {\n    position: CameraVector3;\n    yaw: number;\n    pitch: number;\n    roll: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixCameraDroneTransform"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type HelixCameraShutter = {\n    sequence: number;\n    recording: boolean;\n    timerRemainingSeconds: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixCameraShutter"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixCameraState"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type HelixDeviceFormFactor = 'phone' | 'tablet';",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixDeviceFormFactor"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type HelixDeviceState = {\n    open: boolean;\n    form?: HelixDeviceFormFactor;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixDeviceState"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/index.ts"
          }
        ],
        "kind": "type",
        "name": "HelixInitResult"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixInteractionPrompt"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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}",
            "kind": "ClassDeclaration",
            "source": "src/matchmaking.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "HelixMatchmakingError"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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';",
            "kind": "TypeAliasDeclaration",
            "source": "src/matchmaking.ts"
          }
        ],
        "kind": "type",
        "name": "HelixMatchmakingErrorCode"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type HelixMaterialCatalog = {\n    schemaVersion: number | string;\n    pack: {\n        slug: string;\n        version: string;\n    };\n    resolutions?: HelixMaterialResolutionTier[];\n    materials: HelixMaterialDefinition[];\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/materials.ts"
          }
        ],
        "kind": "type",
        "name": "HelixMaterialCatalog"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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<string, HelixMaterialResolutionVariant>;\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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/materials.ts"
          }
        ],
        "kind": "type",
        "name": "HelixMaterialDefinition"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type HelixMaterialKind = 'texture' | 'glass' | 'procedural_water';",
            "kind": "TypeAliasDeclaration",
            "source": "src/materials.ts"
          }
        ],
        "kind": "type",
        "name": "HelixMaterialKind"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/materials.ts"
          }
        ],
        "kind": "type",
        "name": "HelixMaterialLibrary"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type HelixMaterialMapPaths = {\n    albedo: string;\n    normal: string;\n    orm: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/materials.ts"
          }
        ],
        "kind": "type",
        "name": "HelixMaterialMapPaths"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type HelixMaterialQuery = {\n    query?: string;\n    category?: string;\n    kind?: HelixMaterialKind;\n    limit?: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/materials.ts"
          }
        ],
        "kind": "type",
        "name": "HelixMaterialQuery"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type HelixMaterialResolutionOption = {\n    key: string;\n    pixels: number | null;\n    maps: HelixMaterialMapPaths;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/materials.ts"
          }
        ],
        "kind": "type",
        "name": "HelixMaterialResolutionOption"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type HelixMaterialResolutionTier = {\n    key: string;\n    pixels?: number;\n    default?: boolean;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/materials.ts"
          }
        ],
        "kind": "type",
        "name": "HelixMaterialResolutionTier"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type HelixMaterialResolutionVariant = {\n    pixels?: number;\n    maps: HelixMaterialMapPaths;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/materials.ts"
          }
        ],
        "kind": "type",
        "name": "HelixMaterialResolutionVariant"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type HelixMultiplayerRosterEntry = {\n    sessionId: string;\n    userId: string;\n    displayName: string;\n    avatarUrl: string;\n    isSelf: boolean;\n    connected: boolean;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixMultiplayerRosterEntry"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixMultiplayerState"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type HelixNotification = {\n    kind: HelixNotificationKind;\n    title: string;\n    message?: string;\n    timeoutMs?: number;\n    actionLabel?: string;\n    actionHref?: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixNotification"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type HelixNotificationKind = 'success' | 'failure' | 'notification' | 'message';",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixNotificationKind"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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}",
            "kind": "ClassDeclaration",
            "source": "src/matchmaking.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "HelixPartyError"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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';",
            "kind": "TypeAliasDeclaration",
            "source": "src/matchmaking.ts"
          }
        ],
        "kind": "type",
        "name": "HelixPartyErrorCode"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixPresenceActivity"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type HelixPromptState = 'default' | 'available' | 'locked' | 'busy';",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixPromptState"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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}",
            "kind": "ClassDeclaration",
            "source": "src/index.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "HelixRequestError"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface HelixRoom {\n    claimPhysicsGroup(action: string, group: string, args?: Record<string, RoomVarValue>, scope?: FinalRestScope): Promise<FinalRestGrant>;\n    commitPhysicsGroup(transactionId: string, states: readonly EntityStateBatchEntry[]): Promise<GroupRestSnapshotMessage>;\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<Payload = unknown>(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<string, RoomVarValue>, 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<string, RoomVarValue>): void;\n    releaseModuleEngagement(moduleId: string, action: string, args?: Record<string, RoomVarValue>): 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<DistributionCapabilityGrant>;\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<string, RoomVarValue>;\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<string, RoomVarValue>;\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<void>;\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}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer.ts"
          }
        ],
        "kind": "type",
        "name": "HelixRoom"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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}",
            "kind": "ClassDeclaration",
            "source": "src/multiplayer.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "HelixRoomJoinError"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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';",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer.ts"
          }
        ],
        "kind": "type",
        "name": "HelixRoomJoinErrorCode"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type HelixRoomLeaveReason = 'switch' | 'leave' | 'dropped';",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer.ts"
          }
        ],
        "kind": "type",
        "name": "HelixRoomLeaveReason"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type HelixSession = {\n    token: string;\n    expiresAt: string;\n    scopes: string[];\n    trial?: HelixTrial;\n    user: HelixUser;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixSession"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type HelixUser = {\n    id: string;\n    username: string;\n    displayName: string | null;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixUser"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface HelixVoiceAudioFeatures {\n    rms: number;\n    zeroCrossingRate: number;\n    bands: readonly [number, number, number, number, number];\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/voice.ts"
          }
        ],
        "kind": "type",
        "name": "HelixVoiceAudioFeatures"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type HelixVoiceDevice = {\n    deviceId: string;\n    label: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixVoiceDevice"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type HelixVoiceMicMode = 'ptt' | 'open' | 'muted';",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixVoiceMicMode"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type HelixVoicePermission = 'prompt' | 'granted' | 'denied';",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixVoicePermission"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixVoiceSettings"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixVoiceState"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type HelixVoiceVec3 = {\n    x: number;\n    y: number;\n    z: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/voice.ts"
          }
        ],
        "kind": "type",
        "name": "HelixVoiceVec3"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type HelixWorldContext = {\n    id: string;\n    slug: string;\n    title: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "HelixWorldContext"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const IK_LIMITS = {\n    maxReachDistanceM: 3,\n    maxLookDistanceM: 50,\n} as const;",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "value",
        "name": "IK_LIMITS"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface InputLeaseHandle {\n    readonly epoch: number;\n    readonly enforced: boolean;\n    release(): void;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "InputLeaseHandle"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface InputLeaseRequest {\n    readonly ownerToken: object;\n    readonly actions: readonly StandardModeAction[];\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "InputLeaseRequest"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type InputMap = Record<string, VerbBinding>;",
            "kind": "TypeAliasDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "InputMap"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface InteractionMode<R = unknown> {\n    readonly id: string;\n    readonly suppress: Suppression;\n    readonly camera?: CameraIntent;\n    readonly input?: InputMap;\n    readonly updateWhileCovered?: boolean;\n    enter(ctx: ModeContext<R>): void | Promise<void>;\n    exit(ctx: ModeContext<R>): void | Promise<void>;\n    update?(dtSeconds: number, ctx: ModeContext<R>): void;\n    onCovered?(ctx: ModeContext<R>): void;\n    onRevealed?(ctx: ModeContext<R>): void;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "InteractionMode"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "intersectCameraCapability"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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<string, unknown>;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "InventoryItem"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "const isCameraControlTarget = (v: unknown): v is CameraControlTarget => isMember(CAMERA_CONTROL_TARGETS, v);",
            "kind": "VariableDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "isCameraControlTarget"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "const isCameraDroneLockMode = (v: unknown): v is CameraDroneLockMode => isMember(CAMERA_DRONE_LOCK_MODES, v);",
            "kind": "VariableDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "isCameraDroneLockMode"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "const isCameraFilterId = (v: unknown): v is CameraFilterId => isMember(CAMERA_FILTER_IDS, v);",
            "kind": "VariableDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "isCameraFilterId"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "const isCameraMediaMode = (v: unknown): v is CameraMediaMode => isMember(CAMERA_MEDIA_MODES, v);",
            "kind": "VariableDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "isCameraMediaMode"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "const isCameraSessionState = (v: unknown): v is CameraSessionState => isMember(CAMERA_SESSION_STATES, v);",
            "kind": "VariableDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "isCameraSessionState"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "const isCameraSpatialMode = (v: unknown): v is CameraSpatialMode => isMember(CAMERA_SPATIAL_MODES, v);",
            "kind": "VariableDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "isCameraSpatialMode"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "const isCameraTimerSeconds = (v: unknown): v is CameraTimerSeconds => isMember(CAMERA_TIMER_SECONDS, v);",
            "kind": "VariableDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "isCameraTimerSeconds"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/multiplayer-contract/final-rest.ts"
          }
        ],
        "kind": "value",
        "name": "isFinalRestBatch"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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<string, unknown>;\n    return m.version === 1 && finalRestSequence(m.requestId) && finalRestId(m.group) && validFinalRestScope(m.scope);\n}",
            "kind": "FunctionDeclaration",
            "source": "src/multiplayer-contract/final-rest.ts"
          }
        ],
        "kind": "value",
        "name": "isFinalRestClaim"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type ItemEditionMode = 'standard' | 'collectible';",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "ItemEditionMode"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface JoinRoomOptions {\n    apiBaseUrl?: string;\n    uploadHz?: number;\n    reservationPath?: string;\n    roomType?: string;\n    ticket?: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer.ts"
          }
        ],
        "kind": "type",
        "name": "JoinRoomOptions"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface JoinVoiceOptions {\n    roomId?: string;\n    apiBaseUrl?: string;\n    tokenPath?: string;\n    pttKey?: string;\n    channel?: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/voice.ts"
          }
        ],
        "kind": "type",
        "name": "JoinVoiceOptions"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type LeaderboardEntry = {\n    subject: string;\n    displayName: string;\n    score: number;\n    source: string;\n    updatedAt: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "LeaderboardEntry"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type LeaderboardOrder = 'desc' | 'asc';",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "LeaderboardOrder"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type LeaderboardPage = {\n    entries: LeaderboardEntry[];\n    truncated: boolean;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "LeaderboardPage"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type LeaderboardSubmitOptions = {\n    order?: LeaderboardOrder;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "LeaderboardSubmitOptions"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type LeaderboardSubmitResult = {\n    best: number | null;\n    updated: boolean;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "LeaderboardSubmitResult"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type LeaderboardTopOptions = {\n    limit?: number;\n    order?: LeaderboardOrder;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "LeaderboardTopOptions"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type ListenAdmissionResult = {\n    admitted: boolean;\n    seatId?: string;\n    joinerUserId?: string;\n    reason?: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/index.ts"
          }
        ],
        "kind": "type",
        "name": "ListenAdmissionResult"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type ListenCloseResult = {\n    closed: boolean;\n    releasedSeatIds: string[];\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/index.ts"
          }
        ],
        "kind": "type",
        "name": "ListenCloseResult"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type ListenHeartbeatResult = {\n    status: 'open' | 'closed';\n    expiresAt: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/index.ts"
          }
        ],
        "kind": "type",
        "name": "ListenHeartbeatResult"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type ListenReleaseResult = {\n    released: boolean;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/index.ts"
          }
        ],
        "kind": "type",
        "name": "ListenReleaseResult"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "MarketplaceListing"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type MarketplaceQuery = {\n    kind?: string;\n    category?: string;\n    search?: string;\n    limit?: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "MarketplaceQuery"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type MatchFound = {\n    ticketId: string;\n    instanceId: string;\n    roomType: string;\n    expiresAt: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/matchmaking.ts"
          }
        ],
        "kind": "type",
        "name": "MatchFound"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const MAX_MESSAGE_BYTES = 12288;",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "value",
        "name": "MAX_MESSAGE_BYTES"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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;",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "value",
        "name": "MESSAGE_RATE"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type ModeCapability = 'locomotion' | 'cameraControl' | 'defaultHud' | 'interaction';",
            "kind": "TypeAliasDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "ModeCapability"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface ModeContext<R = unknown> {\n    readonly params: Record<string, unknown>;\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<string, unknown>): void;\n    clearDiag(...keys: string[]): void;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "ModeContext"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type ModeEndReason = 'released' | 'popped' | 'cleared' | 'error';",
            "kind": "TypeAliasDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "ModeEndReason"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface ModeHost {\n    setSuppression(effective: Required<Suppression>): void;\n    applyCamera(intent: CameraIntent | null): void;\n    setVerbs(input: InputMap | null, dispatch: VerbSink | null): void;\n    reportDiag(modeId: string, patch: Record<string, unknown>): void;\n    onModeEvent?(modeId: string, event: string, payload: unknown): void;\n    onError?(error: unknown, modeId: string, phase: ModePhase): void;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "ModeHost"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type ModePhase = 'enter' | 'exit' | 'update' | 'verb' | 'covered' | 'revealed';",
            "kind": "TypeAliasDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "ModePhase"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface ModeResult<R = unknown> {\n    value?: R;\n    reason: ModeEndReason;\n    aborted: boolean;\n    error?: unknown;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "ModeResult"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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<void> | 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<R = unknown>(mode: InteractionMode<R>, params: Record<string, unknown> = {}, options: PushOptions<R> = {}): Promise<PushOutcome<R>> {\n        if (this.#disposed)\n            return rejected<R>(new Error('mode stack is disposed'));\n        if (this.#clearPromise)\n            return rejected<R>(new Error('mode stack is clearing'));\n        if (this.has(mode.id))\n            return this.#reject<R>(new Error(`mode '${mode.id}' is already on the stack`), mode.id);\n        const owner = OWNERS.get(mode as unknown as InteractionMode<never>);\n        if (owner && owner !== this) {\n            return this.#reject<R>(new Error(`mode '${mode.id}' is already live on another stack`), mode.id);\n        }\n        const clash = this.#exclusiveClash(mode as InteractionMode<unknown>);\n        if (clash) {\n            return this.#reject<R>(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<R>(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<R>(new Error(`mode '${mode.id}' suppresses locomotion or cameraControl without a cancel action`), mode.id);\n        }\n        const frame = this.#makeFrame(mode as InteractionMode<unknown>, params, options as PushOptions<unknown>);\n        OWNERS.set(mode as unknown as InteractionMode<never>, 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<R>);\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<ModeResult<R>> };\n            }\n            frame.entered = true;\n            this.#applyTop();\n            return { ok: true, done: frame.done as Promise<ModeResult<R>> };\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<ModeResult<R>> };\n        }\n    }\n    async pop(id?: string, aborted = false): Promise<boolean> {\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<void> {\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<void> {\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<void> {\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<R>(error: unknown, modeId: string): PushOutcome<R> {\n        this.#fail(error, modeId, 'enter');\n        return rejected<R>(error);\n    }\n    #exclusiveClash(mode: InteractionMode<unknown>): {\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<Suppression> = {\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<boolean> {\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<never>);\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<unknown> = {\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<unknown>, params: Record<string, unknown>, options: PushOptions<unknown>): Frame {\n        let settle: (result: ModeResult<unknown>) => void = () => undefined;\n        const done = new Promise<ModeResult<unknown>>((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<unknown>,\n        };\n        frame.ctx = this.#makeContext(frame);\n        return frame;\n    }\n    #makeContext(frame: Frame): ModeContext<unknown> {\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<VerbHandler>();\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<string, unknown>): 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}",
            "kind": "ClassDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "ModeStack"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const MODULE_FINAL_REST_SNAPSHOT = '__helix:moduleFinalRestSnapshot';",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/final-rest.ts"
          }
        ],
        "kind": "value",
        "name": "MODULE_FINAL_REST_SNAPSHOT"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-accessors.ts"
          }
        ],
        "kind": "type",
        "name": "ModuleAccessors"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface ModuleActionRequest {\n    identity: ModuleIdentity;\n    action: string;\n    args?: Record<string, string | number | boolean>;\n    engagement?: 'acquire' | 'release';\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/universal-vehicles.ts"
          }
        ],
        "kind": "type",
        "name": "ModuleActionRequest"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface ModuleEffect {\n    moduleId: string;\n    commandId: string;\n    index: number;\n    serverTick: number;\n    event: string;\n    payload: Readonly<Record<string, unknown>>;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/universal-vehicles.ts"
          }
        ],
        "kind": "type",
        "name": "ModuleEffect"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface ModuleEffectMessage {\n    moduleId: string;\n    commandId: string;\n    index: number;\n    serverTick: number;\n    event: string;\n    payload: Record<string, RoomVarValue>;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "ModuleEffectMessage"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface ModuleEngagementMessage {\n    moduleId: string;\n    action: string;\n    status: ModuleEngagementStatus;\n    requestId?: number;\n    epoch?: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "ModuleEngagementMessage"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type ModuleEngagementStatus = 'granted' | 'denied' | 'released' | 'revoked';",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "ModuleEngagementStatus"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface ModuleFusedMessage {\n    moduleId: string;\n    serverTick: number;\n    tickNodes: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "ModuleFusedMessage"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface ModuleIdentity {\n    itemInstanceId?: string;\n    moduleId: string;\n    bundleChecksumSha256: string;\n    revision: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/universal-vehicles.ts"
          }
        ],
        "kind": "type",
        "name": "ModuleIdentity"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface ModuleSleepMessage {\n    moduleId: string;\n    serverTick: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "ModuleSleepMessage"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface ModuleState {\n    roomVars: RoomVars;\n    players: Record<string, {\n        vars: RoomVars;\n    }>;\n    entities: Record<string, EntityState>;\n    phase: string;\n    phaseStartTick: number;\n    timerDeadlines: Record<string, number>;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/room.ts"
          }
        ],
        "kind": "type",
        "name": "ModuleState"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface ModuleStateSnapshot {\n    moduleId: string;\n    revision: number;\n    phase: string;\n    serverTick: number;\n    roomVars: Readonly<Record<string, unknown>>;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/universal-vehicles.ts"
          }
        ],
        "kind": "type",
        "name": "ModuleStateSnapshot"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface ModuleWakeMessage {\n    moduleId: string;\n    reason: ModuleWakeReason;\n    serverTick: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "ModuleWakeMessage"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type ModuleWakeReason = 'always-on' | 'proximity' | 'engagement' | 'action' | 'import' | 'module' | 'external';",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "ModuleWakeReason"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const MOVEMENT_GATE = {\n    toleranceMul: 1.25,\n    ownerEntityToleranceMul: 3.0,\n    maxCatchupMs: 300,\n    impulseMul: 6,\n    graceMs: 250,\n} as const;",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "value",
        "name": "MOVEMENT_GATE"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "nearestLensPreset"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export function normaliseTouch(touch: TouchPresentation): TouchPresentation {\n    return touch;\n}",
            "kind": "FunctionDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "value",
        "name": "normaliseTouch"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "normalizeCameraCapability"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "normalizeCameraState"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/device-trial.ts"
          }
        ],
        "kind": "value",
        "name": "normalizeDeviceTrialSpawn"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export function normalizeRuntimeFidelityIntent(value: unknown): RuntimeFidelityIntent | null {\n    if (!value || typeof value !== 'object')\n        return null;\n    const candidate = value as Record<string, unknown>;\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}",
            "kind": "FunctionDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "value",
        "name": "normalizeRuntimeFidelityIntent"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/device-definition-resolver.ts"
          }
        ],
        "kind": "value",
        "name": "normalizeSealedDeviceDefinitionProjection"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export interface PackageCustomizerContext {\n    readonly source: PackageCustomizerSource | null;\n    readonly subject: PackageCustomizerSubject | null;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "PackageCustomizerContext"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type PackageCustomizerSource = Readonly<{\n    kind: 'trial';\n    hostId: string;\n    itemId: string;\n}>;",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "PackageCustomizerSource"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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<Record<string, string | null>>;\n    readonly hiddenSlotIds?: readonly string[];\n    readonly equipBoard: Readonly<Record<string, unknown>>;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "PackageCustomizerSubject"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type Party = {\n    id: string;\n    leaderId: string;\n    maxSize: number;\n    members: PartyMember[];\n    code?: PartyCode;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/matchmaking.ts"
          }
        ],
        "kind": "type",
        "name": "Party"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type PartyCode = {\n    code: string;\n    expiresAt: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/matchmaking.ts"
          }
        ],
        "kind": "type",
        "name": "PartyCode"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type PartyInvite = {\n    id: string;\n    partyId: string;\n    from: PartyMember;\n    expiresAt: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/matchmaking.ts"
          }
        ],
        "kind": "type",
        "name": "PartyInvite"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type PartyInviteReceipt = {\n    inviteId: string;\n    expiresAt: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/matchmaking.ts"
          }
        ],
        "kind": "type",
        "name": "PartyInviteReceipt"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type PartyMember = {\n    userId: string;\n    displayName: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/matchmaking.ts"
          }
        ],
        "kind": "type",
        "name": "PartyMember"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type PartyState = {\n    party: Party | null;\n    invites: PartyInvite[];\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/matchmaking.ts"
          }
        ],
        "kind": "type",
        "name": "PartyState"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface PingMessage {\n    clientTimeMs: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "PingMessage"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface PlayerIdentity {\n    id: string;\n    displayName: string;\n    userId: string;\n    avatarUrl: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/state.ts"
          }
        ],
        "kind": "type",
        "name": "PlayerIdentity"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/state.ts"
          }
        ],
        "kind": "type",
        "name": "PlayerReplicaState"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface PlayerState extends PlayerIdentity, PlayerReplicaState {\n    vars: RoomVars;\n    connected: boolean;\n    active: boolean;\n    posT: number;\n    avatarRevision: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/room.ts"
          }
        ],
        "kind": "type",
        "name": "PlayerState"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface PongMessage {\n    finalRestVersion?: 1;\n    moduleFinalRestVersion?: 1;\n    finalRestModules?: Record<string, number>;\n    clientTimeMs: number;\n    serverTimeMs: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "PongMessage"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "ProductGrant"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "PurchaseContext"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type PurchaseOptions = {\n    quantity?: number;\n    idempotencyKey?: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "PurchaseOptions"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface PurchaseReceiptMessage {\n    receipt: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "PurchaseReceiptMessage"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "PurchaseResult"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type PurchaseStatus = 'Pending' | 'Granted' | 'Claimed' | 'AlreadyOwned' | 'InsufficientFunds' | 'MaxPerUserReached' | 'ProductInactive' | 'ProductNotFound' | 'NotInWorld' | 'Unauthorized' | 'RateLimited' | 'Cancelled' | 'Failed' | 'Timeout' | 'NotFound' | 'PriceChanged';",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "PurchaseStatus"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface PushOptions<R = unknown> {\n    onResult?(result: ModeResult<R>): void;\n    onEvent?(event: string, payload: unknown): void;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "PushOptions"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface PushOutcome<R = unknown> {\n    ok: boolean;\n    error?: unknown;\n    done: Promise<ModeResult<R>>;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "PushOutcome"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type Quat = {\n    x: number;\n    y: number;\n    z: number;\n    w: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer-contract/state.ts"
          }
        ],
        "kind": "type",
        "name": "Quat"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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';",
            "kind": "TypeAliasDeclaration",
            "source": "src/matchmaking.ts"
          }
        ],
        "kind": "type",
        "name": "QueueEndReason"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/matchmaking.ts"
          }
        ],
        "kind": "type",
        "name": "QueueStatus"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type QueueWaiting = {\n    players: number;\n    needed: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/matchmaking.ts"
          }
        ],
        "kind": "type",
        "name": "QueueWaiting"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const RECEIPT_LIMITS = {\n    maxReceiptLength: 4096,\n} as const;",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "value",
        "name": "RECEIPT_LIMITS"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type ReplicaInput = Omit<StateMessage, 'seq' | 'tMs' | 'teleportSeq'>;",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer.ts"
          }
        ],
        "kind": "type",
        "name": "ReplicaInput"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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;",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "value",
        "name": "RESERVED_MESSAGE_TYPES"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type ResolvedHelixMaterial = HelixMaterialDefinition & {\n    maps?: HelixMaterialMapPaths;\n    resolutions?: Record<string, HelixMaterialResolutionVariant>;\n    resolution?: {\n        key: string;\n        pixels: number | null;\n        available: string[];\n    };\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/materials.ts"
          }
        ],
        "kind": "type",
        "name": "ResolvedHelixMaterial"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const ROOM_CREDENTIAL_AUDIENCE = 'helix-instant-room' as const;",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/credential.ts"
          }
        ],
        "kind": "value",
        "name": "ROOM_CREDENTIAL_AUDIENCE"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-accessors.ts"
          }
        ],
        "kind": "type",
        "name": "RoomAccessors"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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<string, RoomInitValue>;\n    playerInit?: Record<string, RoomInitValue>;\n    aud: typeof ROOM_CREDENTIAL_AUDIENCE;\n    iss: string;\n    exp: number;\n    iat: number;\n    jti: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/credential.ts"
          }
        ],
        "kind": "type",
        "name": "RoomCredentialClaims"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type RoomInitValue = number | boolean | string;",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer-contract/credential.ts"
          }
        ],
        "kind": "type",
        "name": "RoomInitValue"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface RoomState {\n    players: Record<string, PlayerState>;\n    roomVars: RoomVars;\n    entities: Record<string, EntityState>;\n    serverTick: number;\n    serverTimeMs: number;\n    phase: string;\n    phaseStartTick: number;\n    timerDeadlines: Record<string, number>;\n    modules?: Record<string, ModuleState>;\n    dynamicModules?: Record<string, DynamicModuleState>;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/room.ts"
          }
        ],
        "kind": "type",
        "name": "RoomState"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface RoomTicket {\n    roomType: string;\n    ticketId: string;\n    instanceId: string;\n    expiresAt: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer.ts"
          }
        ],
        "kind": "type",
        "name": "RoomTicket"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface RoomTicketMessage {\n    roomType: string;\n    ticketId: string;\n    instanceId: string;\n    expiresAt: string | number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "RoomTicketMessage"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface RoomTrialClaim {\n    id: string;\n    itemId: string;\n    kind: 'avatar' | 'vehicle';\n    expiresAt: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/credential.ts"
          }
        ],
        "kind": "type",
        "name": "RoomTrialClaim"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type RoomVarCollection = number[] | string[] | boolean[] | RoomVarRecord[] | Record<string, number>;",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer-contract/room.ts"
          }
        ],
        "kind": "type",
        "name": "RoomVarCollection"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type RoomVarRecord = Record<string, number | string | boolean | Vec3>;",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer-contract/room.ts"
          }
        ],
        "kind": "type",
        "name": "RoomVarRecord"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type RoomVars = Record<string, RoomVarValue>;",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer-contract/room.ts"
          }
        ],
        "kind": "type",
        "name": "RoomVars"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type RoomVarValue = number | string | boolean | Vec3 | null | RoomVarCollection;",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer-contract/room.ts"
          }
        ],
        "kind": "type",
        "name": "RoomVarValue"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "const RUNTIME_FIDELITY_RENDER_SCALES = ['1.5', '1', '0.77', '0.59'] as const;",
            "kind": "VariableDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "value",
        "name": "RUNTIME_FIDELITY_RENDER_SCALES"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "const RUNTIME_FIDELITY_VERSION = 1 as const;",
            "kind": "VariableDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "value",
        "name": "RUNTIME_FIDELITY_VERSION"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "const RUNTIME_FIDELITY_VISUAL_TIERS = [\n    'auto',\n    'minimal',\n    'low',\n    'medium',\n    'high',\n    'ultra',\n] as const;",
            "kind": "VariableDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "value",
        "name": "RUNTIME_FIDELITY_VISUAL_TIERS"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "const RUNTIME_PROFILE_QUALITIES = ['minimum', 'balanced', 'high', 'ultra'] as const;",
            "kind": "VariableDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "value",
        "name": "RUNTIME_PROFILE_QUALITIES"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type RuntimeFidelityIntent = {\n    version: typeof RUNTIME_FIDELITY_VERSION;\n    requestedVisualTier: RuntimeFidelityVisualTier;\n    renderScaleOverride: RuntimeFidelityRenderScale | null;\n    runtimeProfileQuality: RuntimeProfileQuality | null;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "RuntimeFidelityIntent"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type RuntimeFidelityRenderScale = (typeof RUNTIME_FIDELITY_RENDER_SCALES)[number];",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "RuntimeFidelityRenderScale"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type RuntimeFidelityVisualTier = (typeof RUNTIME_FIDELITY_VISUAL_TIERS)[number];",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "RuntimeFidelityVisualTier"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type RuntimeProfileQuality = (typeof RUNTIME_PROFILE_QUALITIES)[number];",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "RuntimeProfileQuality"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const sameFinalRestScope = (a?: FinalRestProvenance, b?: FinalRestProvenance): boolean => a?.moduleId === b?.moduleId && a?.generation === b?.generation && a?.engagementEpoch === b?.engagementEpoch;",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/final-rest.ts"
          }
        ],
        "kind": "value",
        "name": "sameFinalRestScope"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "export type SavedPhoto = {\n    assetId: string;\n    url: string;\n    thumbnailUrl: string;\n    worldName: string;\n    createdAt: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "type",
        "name": "SavedPhoto"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface SealedDeviceDefinitionPin {\n    packageId: string;\n    version: string;\n    manifestCid: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/device-definition-resolver.ts"
          }
        ],
        "kind": "type",
        "name": "SealedDeviceDefinitionPin"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface SealedDeviceDefinitionProjection {\n    definition: DeviceDefinitionV1;\n    definitionChecksumSha256: string;\n    expiresAtEpochSeconds: number;\n    pin: SealedDeviceDefinitionPin;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/device-definition-resolver.ts"
          }
        ],
        "kind": "type",
        "name": "SealedDeviceDefinitionProjection"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface SealedDeviceDefinitionResolver extends WorldDeviceDefinitionResolver {\n    dispose(): void;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/device-definition-resolver.ts"
          }
        ],
        "kind": "type",
        "name": "SealedDeviceDefinitionResolver"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface SealedDeviceDefinitionResolverOptions {\n    sha256?: (bytes: ArrayBuffer) => Promise<string>;\n    now?: () => number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/device-definition-resolver.ts"
          }
        ],
        "kind": "type",
        "name": "SealedDeviceDefinitionResolverOptions"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "ServerMessagePayloads"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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;",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          },
          {
            "declaration": "export type ServerMessageType = (typeof ServerMessageType)[keyof typeof ServerMessageType];",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "ServerMessageType"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type StandardModeAction = 'move' | 'look' | 'primary' | 'secondary' | 'tertiary' | 'cancel';",
            "kind": "TypeAliasDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "StandardModeAction"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface StateAckMessage {\n    seq: number;\n    position: Vec3;\n    teleportSeq?: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "StateAckMessage"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "StateMessage"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface Suppression {\n    locomotion?: boolean;\n    cameraControl?: boolean;\n    defaultHud?: boolean;\n    interaction?: boolean;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "Suppression"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type SwitchRoomOptions = Omit<JoinRoomOptions, 'roomType' | 'ticket'>;",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer.ts"
          }
        ],
        "kind": "type",
        "name": "SwitchRoomOptions"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type SwitchRoomTarget = {\n    ticket: string;\n} | {\n    roomType?: string;\n    preferInstanceId?: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer.ts"
          }
        ],
        "kind": "type",
        "name": "SwitchRoomTarget"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type TouchBinding = TouchPresentation;",
            "kind": "TypeAliasDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "TouchBinding"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type TouchKind = TouchPresentationKind;",
            "kind": "TypeAliasDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "TouchKind"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface TouchPresentation {\n    kind: TouchPresentationKind;\n    zone: TouchPresentationZone;\n    group?: string;\n    order?: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "TouchPresentation"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type TouchPresentationKind = 'button' | 'drag' | 'tap' | 'hold' | 'stick' | 'none';",
            "kind": "TypeAliasDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "TouchPresentationKind"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type TouchPresentationZone = 'surface' | 'primary' | 'secondary' | 'left' | 'right';",
            "kind": "TypeAliasDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "TouchPresentationZone"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "const UNITS = {\n    position: 'meters',\n    velocity: 'meters/second',\n    angles: 'degrees',\n} as const;",
            "kind": "VariableDeclaration",
            "source": "src/multiplayer-contract/state.ts"
          }
        ],
        "kind": "value",
        "name": "UNITS"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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<HTMLElement>('[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<HTMLOutputElement>('[data-testid=\"number-value\"]');\n        if (output)\n            output.textContent = formatNumber(value, action.step, action.unit);\n        const input = this.#list.querySelector<HTMLInputElement>('[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<HTMLInputElement>('[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}",
            "kind": "ClassDeclaration",
            "source": "src/action-surface.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "UniversalActionSurface"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/action-surface.ts"
          }
        ],
        "kind": "type",
        "name": "UniversalActionSurfaceOptions"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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<string>();\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<string>();\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}",
            "kind": "FunctionDeclaration",
            "source": "src/action-surface.ts"
          }
        ],
        "kind": "value",
        "name": "validateActionSurfaceSnapshot"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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<string, unknown>)[key] !== undefined);\n    if (present.length === 0)\n        return 'camera.control requires at least one field to change';\n    const known: Record<keyof HelixCameraControl, true> = {\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}",
            "kind": "FunctionDeclaration",
            "source": "src/camera.ts"
          }
        ],
        "kind": "value",
        "name": "validateCameraControl"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export function validateInputMap(input: InputMap, suppression: Suppression = {}): string[] {\n    const errors: string[] = [];\n    const enabledActions = new Map<StandardModeAction, string>();\n    const surfaceContinuous: string[] = [];\n    for (const [verb, typedBinding] of Object.entries(input)) {\n        const binding = typedBinding as unknown as Record<string, unknown>;\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<string, unknown> | 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}",
            "kind": "FunctionDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "value",
        "name": "validateInputMap"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/multiplayer-contract/final-rest.ts"
          }
        ],
        "kind": "value",
        "name": "validFinalRestScope"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "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<T = unknown>(name: string): T[];\n    raw(name: string): unknown;\n    has(name: string): boolean;\n    names(): string[];\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-accessors.ts"
          }
        ],
        "kind": "type",
        "name": "VarsView"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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;",
            "kind": "VariableDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "value",
        "name": "VAULT_ASSET_KINDS"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultAnimationMetadata"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "ClassDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "VaultApiError"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultArtifactMetadata = {\n    format: string;\n    mimeType: string;\n    sourceBytes: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultArtifactMetadata"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultArtifactReference = {\n    role: 'primary' | string;\n    url: string | null;\n    mimeType: string;\n    sizeBytes: number;\n    checksumSha256: string | null;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultArtifactReference"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "ClassDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "VaultArtifactUnavailableError"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultAssetDetail<K extends VaultAssetKind = VaultAssetKind> = VaultAssetSummary<K> & {\n    artifact: VaultResolvedArtifact;\n    usedInWorlds: Array<{\n        worldId: string;\n        slug: string;\n        title: string;\n    }>;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultAssetDetail"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultAssetHandle = {\n    assetId: string;\n    version: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultAssetHandle"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultAssetKind = (typeof VAULT_ASSET_KINDS)[number];",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultAssetKind"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultAssetSummary<K extends VaultAssetKind = VaultAssetKind> = {\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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultAssetSummary"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultAssetVersion"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultAudioGenerationMode = 'sound_effect' | 'music' | 'text_to_speech';",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultAudioGenerationMode"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultAudioMetadata"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultCanonicalThumbnail = {\n    provenance?: string;\n    rendererVersion?: string;\n    artifactChecksumSha256?: string;\n    [key: string]: unknown;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultCanonicalThumbnail"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "ClassDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "VaultCapabilityUnavailableError"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultCharacterMetadata = VaultMetadataBase & {\n    character: {\n        skinned: boolean;\n        meshCount: number;\n        triangleCount: number | null;\n        boneCount: number;\n    };\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultCharacterMetadata"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "ClassDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "VaultChecksumMismatchError"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultClient = {\n    search(query?: VaultSearchQuery): Promise<VaultSearchResult>;\n    get<K extends VaultAssetKind = VaultAssetKind>(assetId: string): Promise<VaultAssetDetail<K>>;\n    versions(assetId: string): Promise<VaultAssetVersion[]>;\n    resolve<K extends VaultAssetKind = VaultAssetKind>(handleOrAssetId: VaultAssetHandle | string): Promise<VaultResolvedAsset<K>>;\n    createLoadPlan(resolved: VaultResolvedAsset): VaultLoadPlan;\n    download(handleOrAssetId: VaultAssetHandle | string, options?: Pick<VaultInstallOptions, 'verifyChecksum'>): Promise<VaultDownloadedArtifact>;\n    downloadArtifact(reference: VaultArtifactReference, options?: Pick<VaultInstallOptions, 'verifyChecksum'>): Promise<VaultDownloadedArtifact>;\n    install(handleOrAssetId: VaultAssetHandle | string, options?: VaultInstallOptions): Promise<VaultInstallResult>;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultClient"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultClientOptions = {\n    apiBaseUrl: string;\n    fetch?: typeof fetch;\n    accessToken?: string | null | (() => string | null | Promise<string | null>);\n    sha256?: (bytes: ArrayBuffer) => Promise<string>;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultClientOptions"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultCompatibility = {\n    skeleton?: string;\n    skeletonVerification?: 'verified' | 'declared' | string;\n    skeletonBonesMatched?: number;\n    system?: string;\n    engines?: VaultRuntime[];\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultCompatibility"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultDecalMetadata = VaultMetadataBase & {\n    decal: {\n        projection: 'planar' | 'box';\n        widthMeters: number;\n        heightMeters: number;\n        blendMode: 'normal' | 'multiply' | 'additive';\n    };\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultDecalMetadata"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultDownloadedArtifact = {\n    reference: VaultArtifactReference;\n    bytes: ArrayBuffer;\n    checksumVerified: boolean;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultDownloadedArtifact"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultEnvironmentMetadata"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultGaussianSplatMetadata"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultImmutableArtifactReference = VaultAssetHandle & {\n    checksumSha256: string;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultImmutableArtifactReference"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultInstallOptions = {\n    relatedRoles?: string[];\n    verifyChecksum?: boolean;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultInstallOptions"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultInstallResult = {\n    asset: VaultResolvedAsset;\n    plan: VaultLoadPlan;\n    primary: VaultDownloadedArtifact;\n    related: VaultDownloadedArtifact[];\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultInstallResult"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultLoadPlan"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultMaterialMetadata"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultMetadataByKind"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultPerformanceMetadata"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultPerformanceTier = 'mobile' | 'desktop' | 'cinematic' | 'unknown';",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultPerformanceTier"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultPropMetadata"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultRankMode = 'relevance' | 'performance' | 'reuse';",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultRankMode"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultRelatedArtifact = {\n    role: string;\n    url: string | null;\n    mimeType: string;\n    sizeBytes: number;\n    checksumSha256: string | null;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultRelatedArtifact"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultResolvedArtifact"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultResolvedAsset<K extends VaultAssetKind = VaultAssetKind> = {\n    handle: VaultAssetHandle;\n    asset: VaultAssetDetail<K>;\n    artifact: VaultResolvedArtifact;\n    relatedArtifactsComplete: boolean;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultResolvedAsset"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultRuntime = 'web' | 'unreal';",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultRuntime"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultSceneMetadata = VaultMetadataBase & {\n    scene: {\n        schemaVersion: string;\n        nodeCount: number;\n        references: Array<VaultImmutableArtifactReference & {\n            kind: 'prop' | 'character' | 'environment' | 'scene' | 'terrain' | 'vfx';\n        }>;\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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultSceneMetadata"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultSearchQuery"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultSearchResult = {\n    items: VaultAssetSummary[];\n    totalItems: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultSearchResult"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultSelectionExplanation = {\n    rankMode: VaultRankMode;\n    lexical: {\n        matchedTerms: string[];\n        matchedFields: string[];\n    };\n    hardFilters: Record<string, unknown>;\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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultSelectionExplanation"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultSkyMetadata"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultSplatScope = 'object' | 'environment';",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultSplatScope"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultTerrainMetadata"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultTextureMetadata"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "declaration": "export type VaultUnrealPackageMetadata = VaultMetadataBase;",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultUnrealPackageMetadata"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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}",
            "kind": "ClassDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "VaultUnsupportedRuntimeError"
      },
      {
        "category": "standalone_tooling",
        "declarations": [
          {
            "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};",
            "kind": "TypeAliasDeclaration",
            "source": "src/vault.ts"
          }
        ],
        "kind": "type",
        "name": "VaultVfxMetadata"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export type Vec3 = {\n    x: number;\n    y: number;\n    z: number;\n};",
            "kind": "TypeAliasDeclaration",
            "source": "src/multiplayer-contract/state.ts"
          }
        ],
        "kind": "type",
        "name": "Vec3"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface VehicleActionEnvelope {\n    entityId: string;\n    authorityEpoch: number;\n    seq: number;\n    buildDigest: string;\n    targetBits?: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "VehicleActionEnvelope"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface VehicleActionFencesMessage {\n    entries: Array<{\n        entityId: string;\n        authorityEpoch: number;\n        seq: number;\n    }>;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "VehicleActionFencesMessage"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface VehicleComponentActionRequest {\n    identity: ModuleIdentity;\n    entityId: string;\n    action: string;\n    args?: Record<string, string | number | boolean>;\n    targetBits?: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/universal-vehicles.ts"
          }
        ],
        "kind": "type",
        "name": "VehicleComponentActionRequest"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/universal-vehicles.ts"
          }
        ],
        "kind": "type",
        "name": "VehicleDetachActionDescriptor"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface VehicleDetachActionRequest {\n    identity: ModuleIdentity;\n    entityId: string;\n    actionId: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/universal-vehicles.ts"
          }
        ],
        "kind": "type",
        "name": "VehicleDetachActionRequest"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface VehicleDetachActions {\n    version: 1;\n    actions: Record<string, VehicleDetachActionDescriptor>;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/universal-vehicles.ts"
          }
        ],
        "kind": "type",
        "name": "VehicleDetachActions"
      },
      {
        "category": "multiplayer_handle_type",
        "declarations": [
          {
            "declaration": "export interface VehicleEntityRetiredMessage {\n    entityId: string;\n    authorityEpoch: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/multiplayer-contract/messages.ts"
          }
        ],
        "kind": "type",
        "name": "VehicleEntityRetiredMessage"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface VehiclePackageArtifact {\n    format: 1;\n    revision: number;\n    checksumSha256: string;\n    package: Record<string, unknown>;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/universal-vehicles.ts"
          }
        ],
        "kind": "type",
        "name": "VehiclePackageArtifact"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type VehicleRole = 'owner' | 'driver' | 'occupant' | 'nearby';",
            "kind": "TypeAliasDeclaration",
            "source": "src/universal-vehicles.ts"
          }
        ],
        "kind": "type",
        "name": "VehicleRole"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface VehicleSpecialtyComponentInvocation {\n    action: string;\n    targetBits?: number;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/vehicle-specialty-transport.ts"
          }
        ],
        "kind": "type",
        "name": "VehicleSpecialtyComponentInvocation"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface VehicleSpecialtyDetachInvocation {\n    actionId: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/vehicle-specialty-transport.ts"
          }
        ],
        "kind": "type",
        "name": "VehicleSpecialtyDetachInvocation"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/vehicle-specialty-placement.ts"
          }
        ],
        "kind": "value",
        "name": "vehicleSpecialtyEntityId"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface VehicleSpecialtyInvocation {\n    functionName: string;\n    args: Readonly<Record<string, unknown>>;\n    itemInstanceId?: string;\n    moduleId?: string;\n    bundleChecksumSha256?: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/vehicle-specialty-transport.ts"
          }
        ],
        "kind": "type",
        "name": "VehicleSpecialtyInvocation"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/vehicle-specialty-placement.ts"
          }
        ],
        "kind": "value",
        "name": "vehicleSpecialtyPlacementBinding"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface VehicleSpecialtyPlacementBinding extends VehicleSpecialtyRoomBinding {\n    placementId: string;\n    entityId: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/vehicle-specialty-placement.ts"
          }
        ],
        "kind": "type",
        "name": "VehicleSpecialtyPlacementBinding"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/vehicle-specialty-placement.ts"
          }
        ],
        "kind": "type",
        "name": "VehicleSpecialtyPlacementIdentity"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface VehicleSpecialtyPresentationEffect {\n    moduleId: string;\n    commandId: string;\n    index: number;\n    serverTick: number;\n    event: string;\n    payload: Readonly<Record<string, unknown>>;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/vehicle-specialty-transport.ts"
          }
        ],
        "kind": "type",
        "name": "VehicleSpecialtyPresentationEffect"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/vehicle-specialty-transport.ts"
          }
        ],
        "kind": "type",
        "name": "VehicleSpecialtyRoomBinding"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export class VehicleSpecialtyRoomTransport {\n    readonly #room: VehicleSpecialtyRoom;\n    readonly #binding: VehicleSpecialtyRoomBinding;\n    readonly #detachActionIds: readonly string[];\n    readonly #stateSubscribers = new Set<StateSubscriber>();\n    readonly #effectSubscribers = new Set<EffectSubscriber>();\n    readonly #seenEffects = new Set<string>();\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<string, string | number | boolean> = {};\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<string, unknown> = {};\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}",
            "kind": "ClassDeclaration",
            "source": "src/vehicle-specialty-transport.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "VehicleSpecialtyRoomTransport"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/vehicle-specialty-placement.ts"
          }
        ],
        "kind": "value",
        "name": "vehicleSpecialtyRuntimeModuleId"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface VehicleSpecialtyStateSnapshot {\n    itemInstanceId?: string;\n    moduleId: string;\n    bundleChecksumSha256: string;\n    revision: number;\n    serverTick: number;\n    vars: Readonly<Record<string, unknown>>;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/vehicle-specialty-transport.ts"
          }
        ],
        "kind": "type",
        "name": "VehicleSpecialtyStateSnapshot"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "VerbBinding"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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}",
            "kind": "InterfaceDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "VerbEvent"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type VerbHandler = (event: VerbEvent, verb: string) => void;",
            "kind": "TypeAliasDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "VerbHandler"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type VerbPhase = 'start' | 'end' | 'repeat';",
            "kind": "TypeAliasDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "VerbPhase"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type VerbSink = (verb: string, event: VerbEvent) => void;",
            "kind": "TypeAliasDeclaration",
            "source": "src/interaction-mode.ts"
          }
        ],
        "kind": "type",
        "name": "VerbSink"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export type WorldDeviceDefinitionResolver = (reference: DeviceDefinitionReference) => Promise<DeviceDefinitionV1>;",
            "kind": "TypeAliasDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "type",
        "name": "WorldDeviceDefinitionResolver"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export class WorldDeviceHost {\n    readonly #presentations = new Map<string, WorldDevicePresentation>();\n    readonly #unsubscribers: Array<() => void> = [];\n    #disposed = false;\n    #serverOffsetMs = 0;\n    #clockAnchored = false;\n    constructor(readonly room: Pick<HelixRoom, 'state' | 'module' | 'onStateChange' | 'sendAction'>, readonly adapter: WorldDevicePresentationAdapter, readonly resolveDefinition: WorldDeviceDefinitionResolver) {\n        this.#sampleClock();\n    }\n    now = (): number => Date.now() + this.#serverOffsetMs;\n    async mount(spawn: WorldDeviceMount): Promise<boolean> {\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<string, unknown>;\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<void> {\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}",
            "kind": "ClassDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "value_and_type",
        "name": "WorldDeviceHost"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface WorldDevicePresentation {\n    applyState(state: Readonly<Record<string, unknown>>): void;\n    dispose(): void | Promise<void>;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "type",
        "name": "WorldDevicePresentation"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "declaration": "export interface WorldDevicePresentationAdapter {\n    readonly capabilities: ReadonlySet<string>;\n    mount(input: {\n        spawn: WorldDeviceMount;\n        definition: DeviceDefinitionV1;\n        now: () => number;\n        interact: (interactionId: string, args?: Record<string, RoomVarValue>) => void;\n    }): WorldDevicePresentation | Promise<WorldDevicePresentation>;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "type",
        "name": "WorldDevicePresentationAdapter"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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}",
            "kind": "FunctionDeclaration",
            "source": "src/devices.ts"
          }
        ],
        "kind": "value",
        "name": "worldDeviceRuntimeModuleId"
      },
      {
        "category": "implementation_symbol",
        "declarations": [
          {
            "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<string, unknown>;\n    state: Record<string, unknown>;\n    spawnedAt: string;\n}",
            "kind": "InterfaceDeclaration",
            "source": "src/universal-vehicles.ts"
          }
        ],
        "kind": "type",
        "name": "WorldSpawn"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "const XR_INTERACTION_PROMPT_EVENT = 'helix:interaction-prompt';",
            "kind": "VariableDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "value",
        "name": "XR_INTERACTION_PROMPT_EVENT"
      },
      {
        "category": "runtime_facade",
        "declarations": [
          {
            "declaration": "const XR_SESSION_EVENT = 'helix:xr-session';",
            "kind": "VariableDeclaration",
            "source": "src/protocol.ts"
          }
        ],
        "kind": "value",
        "name": "XR_SESSION_EVENT"
      }
    ]
  },
  "purchaseStatusMeanings": {
    "AlreadyOwned": {
      "money": "not_charged",
      "ownsAfter": true
    },
    "Cancelled": {
      "money": "unknown",
      "ownsAfter": false
    },
    "Claimed": {
      "money": "not_charged",
      "ownsAfter": true
    },
    "Failed": {
      "money": "not_charged",
      "ownsAfter": false
    },
    "Granted": {
      "money": "charged",
      "ownsAfter": true
    },
    "InsufficientFunds": {
      "money": "not_charged",
      "ownsAfter": false
    },
    "MaxPerUserReached": {
      "money": "not_charged",
      "ownsAfter": false
    },
    "NotFound": {
      "money": "unknown",
      "ownsAfter": false
    },
    "NotInWorld": {
      "money": "not_charged",
      "ownsAfter": false
    },
    "Pending": {
      "money": "unknown",
      "ownsAfter": false
    },
    "PriceChanged": {
      "money": "not_charged",
      "ownsAfter": false
    },
    "ProductInactive": {
      "money": "not_charged",
      "ownsAfter": false
    },
    "ProductNotFound": {
      "money": "not_charged",
      "ownsAfter": false
    },
    "RateLimited": {
      "money": "not_charged",
      "ownsAfter": false
    },
    "Timeout": {
      "money": "unknown",
      "ownsAfter": false
    },
    "Unauthorized": {
      "money": "not_charged",
      "ownsAfter": false
    }
  },
  "schema": "helix.runtime-contract",
  "sdk": {
    "multiplayerContractVersion": 34,
    "package": "@hypersoniclabs/helix-sdk",
    "packageVersion": "0.1.10",
    "protocolVersion": 2
  },
  "source": {
    "branch": "helix3",
    "commit": "1fd29444a3f3635d4ccb5e1feaa6b805281879f4",
    "fileDigests": {
      "package.json": "sha256:983cb8d1075c4848738fc06caba7e5409ebad39b136302b723820f297ecf8c18",
      "src/action-surface.ts": "sha256:e0bf72b6c9333348d15b22b53fd91365cc9024f879abf78a968759f2077b2927",
      "src/camera.ts": "sha256:6597e735387b2a8d07ee4277e890ec0d730a0bac3811c32e27fff1a9f6fe17e9",
      "src/device-definition-resolver.ts": "sha256:2afebf980e276f87a9849d3ced3bd9fc37ceae04b15ca20a9918aac37b77c6ca",
      "src/device-trial.ts": "sha256:22b6535f959e1473b04e510949fb010b72c35b86cc8a52e86d75c2c2aa743cea",
      "src/devices.ts": "sha256:f6000e8e8397d82cf1b9768b81b738eaee0e033710109e2a9c46438cf6f6e3d6",
      "src/dreamerAudio.ts": "sha256:d16fb25ec175199777058db852dce64924913daef42e62fd65d326f28019407f",
      "src/index.ts": "sha256:71e7a2a99e41d754c19a1ee6132040462a326e04180b8becfdc53008ed0888bb",
      "src/interaction-mode.ts": "sha256:17a7fa4eaf8f51ac11c2bc84d862a95a463b867b59d1fc01bc3296b9644a8304",
      "src/matchmaking.ts": "sha256:fedd9f86b15280d2af2441a4407ace86529518d48b0d363c4a9a4d8c24b61b0f",
      "src/materials.ts": "sha256:735b17d42c30b96aa993225500a059875a7c4d2406d0bb076817889cdc5255c4",
      "src/multiplayer-accessors.ts": "sha256:92434d2a4f04d330aa4445ef58263594c22c297b43185cc7291cdf2bb9e03bc5",
      "src/multiplayer-contract/credential.ts": "sha256:8c6c914a18ad628828b8e1124c529b3073dbf2d586296f3bf3b2352d14b66a65",
      "src/multiplayer-contract/final-rest.ts": "sha256:43e67e92afd345c0350ed908f0f89b238bc32a3e958990c34401869ddef1a097",
      "src/multiplayer-contract/index.ts": "sha256:62a97049323ddc913834cc75405fae4f1c7f74a5acc8c4c2ee1d139025098911",
      "src/multiplayer-contract/messages.ts": "sha256:1fe3d98eb6c14e8af9c371f0c3096818c30fc6c96b02c6cf44d3a0714577ae30",
      "src/multiplayer-contract/room.ts": "sha256:1c857137854149233181d231908ac57f67c70de458f904985315eae315b33562",
      "src/multiplayer-contract/state.ts": "sha256:2a52c27dafd006bc6acd275c79494ff36c0e9fb5d5c6704a99931f723cf88684",
      "src/multiplayer.ts": "sha256:cb5cb685db7cf38e45ebebc08e184932d48a2b2a6c693066af0918ce5068a049",
      "src/protocol.ts": "sha256:43a3d13c3c6cfcf413af7c4b24ad3b72288b2aeef6fe32020b4308766ddbc0cf",
      "src/universal-vehicles.ts": "sha256:ef3e214be2477952487e395021319acd7a9ae3849419a4544ed2f90962ab3946",
      "src/vault.ts": "sha256:8cf2091aac5167ba4789aaad062d5f3a55e07657e3d36fb0503a44f66abddaa0",
      "src/vehicle-specialty-placement.ts": "sha256:92421b45863564057fc04a3a818b192808d5ef3d83100e6b49d2c228c35f3ceb",
      "src/vehicle-specialty-transport.ts": "sha256:60d48876feac6c72e77a96d81b9188de402dced46f92b8dbb368a14029c6941a",
      "src/voice.ts": "sha256:6a0a95de2c276f42e7ccbe8eaf769906ae8e93cc6cf2de027bc520e2f319d93e"
    },
    "repository": "hypersonic-laboratories/helix-web-sdk"
  },
  "sourceCommit": "1fd29444a3f3635d4ccb5e1feaa6b805281879f4",
  "stableErrors": {
    "AUTH_REQUIRED": "A signed-in player session is required.",
    "BACKEND_UNAVAILABLE": "The authoritative service could not be reached; clients must not fabricate a success or zero value.",
    "CAPABILITY_DENIED": "The World manifest does not grant the required capability.",
    "CONFLICT": "The request conflicts with current versioned state.",
    "CORRECTION_REQUIRED": "The audited Web behavior is not safe to canonize across runtimes.",
    "INVALID_ARGUMENT": "The request failed deterministic local or platform validation.",
    "RATE_LIMITED": "The caller exceeded the platform rate policy.",
    "REQUIRES_MANAGED_AUTHORITY": "The operation requires a HELIX-managed workload.",
    "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.",
    "TIMEOUT": "The result is unresolved; retry with the same idempotency key when one exists.",
    "UNAVAILABLE": "The service is not implemented for this runtime or profile."
  },
  "standaloneFactories": {
    "captureCanvas": {
      "input": "source: HTMLCanvasElement, opts?: CaptureOptions",
      "output": "Promise<Blob>",
      "scope": "web_camera_implementation",
      "signature": "(source: HTMLCanvasElement, opts?: CaptureOptions) => Promise<Blob>"
    },
    "createDreamerAudioClient": {
      "input": "options: DreamerAudioClientOptions",
      "output": "DreamerAudioClient",
      "scope": "creator_time_generation",
      "signature": "(options: DreamerAudioClientOptions) => DreamerAudioClient"
    },
    "createMaterialLibrary": {
      "input": "assetBaseUrl: string, catalog: HelixMaterialCatalog",
      "output": "HelixMaterialLibrary",
      "scope": "web_material_implementation",
      "signature": "(assetBaseUrl: string, catalog: HelixMaterialCatalog) => HelixMaterialLibrary"
    },
    "createRoomAccessors": {
      "input": "sessionId: string, state: () => AccessorRoomState | null | undefined",
      "output": "RoomAccessors",
      "scope": "multiplayer_read_accessors",
      "signature": "(sessionId: string, state: () => AccessorRoomState | null | undefined) => RoomAccessors"
    },
    "createVarsView": {
      "input": "source: () => VarsBag",
      "output": "VarsView",
      "scope": "multiplayer_read_accessors",
      "signature": "(source: () => VarsBag) => VarsView"
    },
    "createVaultClient": {
      "input": "options: VaultClientOptions",
      "output": "VaultClient",
      "scope": "creator_and_runtime_asset_delivery",
      "signature": "(options: VaultClientOptions) => VaultClient"
    },
    "createVaultLoadPlan": {
      "input": "resolved: VaultResolvedAsset",
      "output": "VaultLoadPlan",
      "scope": "runtime_specific_artifact_selection",
      "signature": "(resolved: VaultResolvedAsset) => VaultLoadPlan"
    },
    "cropRectForAspect": {
      "input": "w: number, h: number, aspect?: CameraAspect",
      "output": "CropRect",
      "scope": "camera_geometry",
      "signature": "(w: number, h: number, aspect?: CameraAspect) => CropRect"
    }
  },
  "types": {
    "enums": {
      "Authority": [
        "client",
        "shell_player",
        "platform",
        "world_server",
        "profile_dependent"
      ],
      "AuthorityProfile": [
        "client",
        "preview",
        "listen",
        "managed_server"
      ],
      "Availability": [
        "available",
        "conditional",
        "unavailable",
        "correction_required"
      ],
      "CameraAspect": [
        "portrait",
        "landscape",
        "square",
        "free"
      ],
      "CameraControlTarget": [
        "camera",
        "avatar"
      ],
      "CameraDroneLockMode": [
        "free",
        "lock",
        "orbit"
      ],
      "CameraFilterId": [
        "original",
        "vivid",
        "warm",
        "cool",
        "mono"
      ],
      "CameraLensPreset": [
        0.5,
        1,
        2,
        3,
        5
      ],
      "CameraMediaMode": [
        "photo",
        "video"
      ],
      "CameraSessionState": [
        "inactive",
        "device-hold",
        "rear",
        "selfie",
        "drone"
      ],
      "CameraSpatialMode": [
        "rear",
        "selfie",
        "drone"
      ],
      "CameraTimerSeconds": [
        0,
        3,
        10
      ],
      "HelixDeviceFormFactor": [
        "phone",
        "tablet"
      ],
      "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"
      ],
      "HelixNotificationKind": [
        "success",
        "failure",
        "notification",
        "message"
      ],
      "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"
      ],
      "HelixPromptState": [
        "default",
        "available",
        "locked",
        "busy"
      ],
      "HelixVoiceMicMode": [
        "ptt",
        "open",
        "muted"
      ],
      "HelixVoicePermission": [
        "prompt",
        "granted",
        "denied"
      ],
      "LeaderboardOrder": [
        "desc",
        "asc"
      ],
      "PurchaseStatus": [
        "Pending",
        "Granted",
        "Claimed",
        "AlreadyOwned",
        "InsufficientFunds",
        "MaxPerUserReached",
        "ProductInactive",
        "ProductNotFound",
        "NotInWorld",
        "Unauthorized",
        "RateLimited",
        "Cancelled",
        "Failed",
        "Timeout",
        "NotFound",
        "PriceChanged"
      ],
      "QueueEndReason": [
        "cancelled",
        "timeout",
        "heartbeat-lapsed",
        "member-absent",
        "party-changed",
        "build-changed",
        "queue-removed",
        "replaced",
        "ended",
        "heartbeat-lost",
        "match-expired",
        "refused",
        "session-changed",
        "left"
      ],
      "QueueState": [
        "none",
        "waiting",
        "matched"
      ],
      "TransportOwner": [
        "local",
        "shell",
        "direct",
        "network_provider",
        "voice_provider"
      ],
      "VaultRuntime": [
        "web",
        "unreal"
      ]
    },
    "records": {
      "AchievementListResult": {
        "fields": {
          "achievements": "AchievementSummary[]",
          "earned": "number",
          "total": "number"
        }
      },
      "AchievementMineResult": {
        "fields": {
          "achievements": "AchievementSummary[]"
        }
      },
      "AvatarComposition": {
        "fields": {
          "appearance": "object",
          "appearanceDigest": "string",
          "base": "object",
          "colorOverrides": "object",
          "compositionDigest": "string",
          "fill": "all|each?",
          "hiddenSlotIds": "string[]",
          "hostKind": "character",
          "instanceThumbnailUrl": "string|null",
          "itemId": "string",
          "materialOverrides": "object",
          "materials": "object",
          "modelUrl": "string|null",
          "mountSocket": "string|null?",
          "slotId": "string",
          "visibleAddOns": "object[]",
          "visualOps": "unknown[]"
        }
      },
      "Balance": {
        "fields": {
          "coins": "number",
          "lix": "number",
          "updatedAt": "string?"
        }
      },
      "CameraAim": {
        "fields": {
          "pitch": "number",
          "yaw": "number"
        }
      },
      "CameraFocusPoint": {
        "fields": {
          "x": "number",
          "y": "number"
        }
      },
      "CameraVector3": {
        "fields": {
          "x": "number",
          "y": "number",
          "z": "number"
        }
      },
      "DataStoreListPage": {
        "fields": {
          "keys": "string[]",
          "nextCursor": "string?"
        }
      },
      "DataStoreListPayload": {
        "fields": {
          "cursor": "string?",
          "limit": "integer?",
          "prefix": "string?"
        }
      },
      "EquippedAvatar": {
        "fields": {
          "composition": "AvatarComposition|null?",
          "contentHash": "string|null?",
          "glbUrl": "string|null",
          "inventoryItemId": "string|null?",
          "itemId": "string|null",
          "skeleton": "string|null",
          "source": "equipped|auto|default|trial"
        }
      },
      "EquippedEmote": {
        "fields": {
          "audio": "string?",
          "clip": "string",
          "itemId": "string",
          "label": "string?",
          "playback": "oneshot|loop",
          "slot": "r0|r1|r2|r3|r4|r5|r6|r7|sit|lie"
        }
      },
      "EquippedEmotes": {
        "fields": {
          "emotes": "EquippedEmote[]"
        }
      },
      "HelixCameraCapability": {
        "fields": {
          "drone": "boolean",
          "exposureBias": "boolean",
          "focusPoint": "boolean",
          "photo": "boolean",
          "twoHandPose": "boolean",
          "unavailableReason": "string?",
          "video": "boolean",
          "worldAudio": "boolean"
        }
      },
      "HelixCameraControl": {
        "fields": {
          "aim": "CameraAim?",
          "controlTarget": "CameraControlTarget?",
          "exposureBias": "number?",
          "filter": "CameraFilterId?",
          "focusPoint": "CameraFocusPoint?",
          "media": "CameraMediaMode?",
          "recording": "boolean?",
          "session": "CameraSessionState?",
          "shutter": "boolean?",
          "spatial": "CameraSpatialMode?",
          "timerSeconds": "CameraTimerSeconds?",
          "worldAudio": "boolean?",
          "zoom": "number?"
        }
      },
      "HelixCameraDroneCommand": {
        "fields": {
          "interpolationSeconds": "number?",
          "lockMode": "CameraDroneLockMode?",
          "returnToAvatar": "boolean?",
          "subjectUserId": "string?",
          "transform": "HelixCameraDroneTransform?",
          "velocity": "CameraVector3?"
        }
      },
      "HelixCameraDroneState": {
        "fields": {
          "droneId": "string",
          "interpolationSeconds": "number",
          "lockMode": "CameraDroneLockMode",
          "returnDistance": "number",
          "returning": "boolean",
          "subjectUserId": "string",
          "transform": "HelixCameraDroneTransform",
          "velocity": "CameraVector3"
        }
      },
      "HelixCameraDroneTransform": {
        "fields": {
          "pitch": "number",
          "position": "CameraVector3",
          "roll": "number",
          "yaw": "number"
        }
      },
      "HelixCameraShutter": {
        "fields": {
          "recording": "boolean",
          "sequence": "integer",
          "timerRemainingSeconds": "number"
        }
      },
      "HelixCameraState": {
        "fields": {
          "aim": "CameraAim",
          "capability": "HelixCameraCapability",
          "controlTarget": "CameraControlTarget",
          "drone": "HelixCameraDroneState?",
          "exposureBias": "number?",
          "filter": "CameraFilterId",
          "focusPoint": "CameraFocusPoint?",
          "lens": "CameraLensPreset",
          "media": "CameraMediaMode",
          "session": "CameraSessionState",
          "shutter": "HelixCameraShutter",
          "spatial": "CameraSpatialMode",
          "timerSeconds": "CameraTimerSeconds",
          "zoom": "number"
        }
      },
      "HelixInitResult": {
        "fields": {
          "customizerSource": "PackageCustomizerSource|null",
          "customizerSubject": "PackageCustomizerSubject|null",
          "embedded": "boolean",
          "runtimeFidelity": "RuntimeFidelityIntent|null",
          "user": "HelixUser|null",
          "world": "HelixWorldContext|null"
        }
      },
      "HelixMultiplayerState": {
        "fields": {
          "maxPlayers": "number|null",
          "playerCount": "number",
          "players": "HelixMultiplayerRosterEntry[]",
          "roomId": "string",
          "roomType": "string?",
          "sessionId": "string",
          "ticketed": "boolean?"
        }
      },
      "HelixPresenceActivity": {
        "fields": {
          "details": "string?",
          "image": "string?",
          "joinable": "boolean?",
          "party": "PartySize?",
          "state": "string"
        }
      },
      "HelixSession": {
        "fields": {
          "expiresAt": "string",
          "scopes": "string[]",
          "token": "string",
          "trial": "HelixTrial?",
          "user": "HelixUser"
        }
      },
      "HelixUser": {
        "fields": {
          "displayName": "string|null",
          "id": "string",
          "username": "string"
        }
      },
      "HelixVoiceState": {
        "fields": {
          "activeDeviceId": "string?",
          "audioBlocked": "boolean?",
          "available": "boolean",
          "channelId": "string?",
          "connected": "boolean",
          "devices": "HelixVoiceDevice[]",
          "error": "string?",
          "micMode": "HelixVoiceMicMode",
          "permission": "HelixVoicePermission",
          "pttKey": "string?",
          "speakingUserIds": "string[]",
          "transmitting": "boolean"
        }
      },
      "HelixWorldContext": {
        "fields": {
          "id": "string",
          "slug": "string",
          "title": "string"
        }
      },
      "InventoryItem": {
        "fields": {
          "avatarSlot": "string|null?",
          "category": "string?",
          "description": "string|null?",
          "equipped": "boolean?",
          "id": "string?",
          "itemId": "string",
          "kind": "string?",
          "metadata": "object?",
          "quantity": "number",
          "socket": "string|null?",
          "subCategory": "string|null?",
          "thumbnailUrl": "string|null?",
          "title": "string"
        }
      },
      "LeaderboardPage": {
        "fields": {
          "entries": "LeaderboardEntry[]",
          "truncated": "boolean"
        }
      },
      "LeaderboardSubmitResult": {
        "fields": {
          "best": "number|null",
          "updated": "boolean"
        }
      },
      "ListenAdmissionResult": {
        "fields": {
          "admitted": "boolean",
          "joinerUserId": "string?",
          "reason": "string?",
          "seatId": "string?"
        }
      },
      "ListenReleaseResult": {
        "fields": {
          "released": "boolean"
        }
      },
      "MatchFound": {
        "fields": {
          "expiresAt": "number",
          "instanceId": "string",
          "roomType": "string",
          "ticketId": "string"
        }
      },
      "PackageCustomizerContext": {
        "fields": {
          "source": "PackageCustomizerSource|null",
          "subject": "PackageCustomizerSubject|null"
        }
      },
      "Party": {
        "fields": {
          "code": "PartyCode?",
          "id": "string",
          "leaderId": "string",
          "maxSize": "integer",
          "members": "PartyMember[]"
        }
      },
      "PartyCode": {
        "fields": {
          "code": "string",
          "expiresAt": "number"
        }
      },
      "PartyInvite": {
        "fields": {
          "expiresAt": "number",
          "from": "PartyMember",
          "id": "string",
          "partyId": "string"
        }
      },
      "PartyInviteReceipt": {
        "fields": {
          "expiresAt": "number",
          "inviteId": "string"
        }
      },
      "PartyMember": {
        "fields": {
          "displayName": "string",
          "userId": "string"
        }
      },
      "PartyState": {
        "fields": {
          "invites": "PartyInvite[]",
          "party": "Party|null"
        }
      },
      "PurchaseOptions": {
        "fields": {
          "idempotencyKey": "string?",
          "quantity": "integer?"
        }
      },
      "PurchaseResult": {
        "fields": {
          "balanceAfterLix": "number?",
          "completed": "boolean",
          "itemId": "string|null?",
          "priceLix": "number?",
          "receipt": "string?",
          "status": "PurchaseStatus"
        }
      },
      "QueueStatus": {
        "fields": {
          "match": "MatchFound?",
          "queueId": "string?",
          "reason": "QueueEndReason?",
          "serverReason": "string?",
          "status": "QueueState",
          "waiting": "QueueWaiting?"
        }
      },
      "QueueWaiting": {
        "fields": {
          "needed": "integer",
          "players": "integer"
        }
      },
      "RuntimeError": {
        "fields": {
          "code": "StableError",
          "message": "string",
          "remediation": "string?",
          "retryable": "boolean"
        }
      },
      "RuntimeFidelityIntent": {
        "fields": {
          "renderScaleOverride": "RuntimeFidelityRenderScale|null",
          "requestedVisualTier": "RuntimeFidelityVisualTier",
          "runtimeProfileQuality": "RuntimeProfileQuality|null",
          "version": "1"
        }
      },
      "SavedPhoto": {
        "fields": {
          "assetId": "string",
          "createdAt": "string",
          "thumbnailUrl": "string",
          "url": "string",
          "worldName": "string"
        }
      }
    }
  }
}
